mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-30 22:26:38 +08:00
530a9dd3ee
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)
34 lines
1.1 KiB
SQL
34 lines
1.1 KiB
SQL
-- +goose Up
|
|
CREATE TABLE IF NOT EXISTS w_push_events (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
event_key VARCHAR(80) NOT NULL UNIQUE,
|
|
name VARCHAR(100) NOT NULL,
|
|
channels TEXT NOT NULL,
|
|
targets TEXT NOT NULL,
|
|
template TEXT NOT NULL,
|
|
enabled BOOLEAN NOT NULL DEFAULT FALSE,
|
|
created_at TIMESTAMPTZ NOT NULL,
|
|
updated_at TIMESTAMPTZ NOT NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_w_push_events_enabled ON w_push_events(enabled);
|
|
|
|
CREATE TABLE IF NOT EXISTS w_push_histories (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
event_key VARCHAR(80) NOT NULL,
|
|
channel VARCHAR(50) NOT NULL,
|
|
target VARCHAR(255) NOT NULL,
|
|
title VARCHAR(255) NOT NULL,
|
|
content TEXT NOT NULL,
|
|
level VARCHAR(20) NOT NULL,
|
|
status VARCHAR(20) NOT NULL,
|
|
error_msg TEXT,
|
|
created_at TIMESTAMPTZ NOT NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_w_push_histories_event ON w_push_histories(event_key);
|
|
CREATE INDEX IF NOT EXISTS idx_w_push_histories_created ON w_push_histories(created_at);
|
|
|
|
-- +goose Down
|
|
DROP TABLE IF EXISTS w_push_histories;
|
|
DROP TABLE IF EXISTS w_push_events; |