mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 14:06:36 +08:00
9bd012a271
Replace per-plugin goose version tables with a single shared table shared across all plugins, discriminated by plugin_id. Implementation: - Implement custom goosedb.Store (sharedStore) that uses a single w_schema_versions(plugin_id, version_id, applied_at) table - Each store instance binds to a specific pluginID, filtering all CRUD operations by that plugin_id - Goose provider created via goose.WithStore(store) instead of WithTableName, eliminating per-plugin goose_version_* tables - Placeholder formatting (PostgreSQL vs SQLite ?) handled by sharedStore.placeholder() based on dialect This means: SELECT * FROM w_schema_versions ORDER BY plugin_id, version_id; shows the complete migration state of every plugin at a glance.