ryan
|
530a9dd3ee
|
refactor(migration): delete pkg/migrator, move SQL to per-plugin embed
BREAKING: pkg/migrator/ deleted entirely. Migration SQL files are now
owned by each plugin in its own migrations/ directory.
Architecture:
- Delete pkg/migrator/ (26 global SQL files + ClickHouse migration)
- Move global SQL to per-plugin migrations/ with go:embed + Register()
- Rewrite cmd/app.go gooseEngine: uses Inject[DBService] for DB, iterates
all plugin-registered MigrationEntry, runs goose.Up per entry
- core.MigrationEngine.Migrate signature changed: *Context instead of
context.Context, so engine can resolve services via IoC
Per-plugin migration ownership:
auth/ → w_access_tokens, w_auth_sources, w_external_accounts
user/ → w_users (seed system user)
admin/ → w_system_configs, w_templates (seeds)
upload/ → w_uploads, w_upload_stats
message_gateway/ → w_push_*, w_message_*
risk_control/ → w_user_access_logs (PG + ClickHouse)
driver_asynq_cron/ → w_schedules
driver_asynq_worker/ → w_task_executions
Dependencies:
- cmd/banner.go: removed migration report display (migrations are automatic)
- cmd/reset_passwd.go: removed PreRun migrator.Migrate() call
- go.mod: clickhouse-go kept (used by plugins/infra/database/clickhouse.go)
|
2026-08-28 12:19:25 +08:00 |
|