To provide more context:
Your initializer could be named literally as "initialize" so that it is called automatically when you use Upgrades Plugins e.g.
function initialize() initializer public {
(otherwise you'd need to specify the initializer function name when using the plugin).
The initializer should also call the _init()
methods of its parent contracts, which seems to be missing from your example.
The constructor is needed due to this reason.