container->set(SchemaManager::class, function () { return new SchemaManager(); }); $this->container->set(MigrationManager::class, function () { return new MigrationManager(); }); $this->container->set(DatabaseManager::class, function ($c) { return new DatabaseManager( $c->get(SchemaManager::class), $c->get(MigrationManager::class) ); }); } /** * @inheritDoc */ public function boot(): void { // Run database migration checks on admin initialization if (is_admin()) { add_action('admin_init', function () { $this->container->get(DatabaseManager::class)->install(); }); } } }