mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-09-13 05:47:23 -04:00
Previously, plugin migrations only ran once during PluginManager initialization for already-enabled plugins, which caused the login "latest version" check to report the system as up to date even when plugin migrations were still pending. Newly enabled plugins also had no path to run their migrations at enable time. - Login controller: factor pending-migration check into isLatest determination, and explicitly run pending plugin migrations after core migrations complete - PluginManager: remove implicit migration run from init(); add public hasPendingMigrations() and runPendingMigrations() so callers can check/trigger migrations explicitly - PluginManager: extract getPendingMigrationFiles() helper shared by hasPendingMigrations() and per-plugin migration runner - PluginManager: run pending migrations immediately when a plugin is enabled, instead of waiting for next request/init - PluginManager: throw RuntimeException on missing migration class or failed migration instead of silently breaking the loop, so failures propagate to callers Signed-off-by: objecttothis <17935339+objecttothis@users.noreply.github.com>