diff --git a/docs/plan/20260719-pages-source-sync-v2.md b/docs/plan/20260719-pages-source-sync-v2.md index e37fe907..237eaa80 100644 --- a/docs/plan/20260719-pages-source-sync-v2.md +++ b/docs/plan/20260719-pages-source-sync-v2.md @@ -368,8 +368,8 @@ PostgreSQL 与 SQLite 均创建同语义的部分唯一索引。禁止用空字 新增双方言 migration: -1. `202607190001_add_pages_source_runtime.sql`:两张 source 表、project content version、deployment provenance、索引和存量回填。 -2. `202607190002_seed_pages_source_scan.sql`:幂等插入 `of_pages_source_scan` 的 5 分钟 schedule。 +1. `202607190002_add_pages_source_runtime.sql`:两张 source 表、project content version、deployment provenance、索引和存量回填。 +2. `202607190003_seed_pages_source_scan.sql`:幂等插入 `of_pages_source_scan` 的 5 分钟 schedule。 存量 deployment 只能可靠回填为 `source_type=manual_upload`、`trigger_type=manual_upload`,identity/revision 保持 NULL;现有记录无法反推出是否来自旧一次性 URL。schedule seed 不写死 ID,使用 `WHERE NOT EXISTS (task_type = 'of_pages_source_scan')`,Down 仅按该 task type 删除。 @@ -1143,13 +1143,13 @@ scanner TaskResult 和结构化日志至少记录: #### [NEW] PostgreSQL -* `internal/db/migrator/goose/postgres/202607190001_add_pages_source_runtime.sql` -* `internal/db/migrator/goose/postgres/202607190002_seed_pages_source_scan.sql` +* `internal/db/migrator/goose/postgres/202607190002_add_pages_source_runtime.sql` +* `internal/db/migrator/goose/postgres/202607190003_seed_pages_source_scan.sql` #### [NEW] SQLite -* `internal/db/migrator/goose/sqlite/202607190001_add_pages_source_runtime.sql` -* `internal/db/migrator/goose/sqlite/202607190002_seed_pages_source_scan.sql` +* `internal/db/migrator/goose/sqlite/202607190002_add_pages_source_runtime.sql` +* `internal/db/migrator/goose/sqlite/202607190003_seed_pages_source_scan.sql` 版本号若已被其它分支占用,实施时只顺延编号,不改变 DDL/DML 拆分。 diff --git a/internal/db/migrator/goose/postgres/202607190001_add_pages_source_runtime.sql b/internal/db/migrator/goose/postgres/202607190002_add_pages_source_runtime.sql similarity index 100% rename from internal/db/migrator/goose/postgres/202607190001_add_pages_source_runtime.sql rename to internal/db/migrator/goose/postgres/202607190002_add_pages_source_runtime.sql diff --git a/internal/db/migrator/goose/postgres/202607190002_seed_pages_source_scan.sql b/internal/db/migrator/goose/postgres/202607190003_seed_pages_source_scan.sql similarity index 100% rename from internal/db/migrator/goose/postgres/202607190002_seed_pages_source_scan.sql rename to internal/db/migrator/goose/postgres/202607190003_seed_pages_source_scan.sql diff --git a/internal/db/migrator/goose/sqlite/202607190001_add_pages_source_runtime.sql b/internal/db/migrator/goose/sqlite/202607190002_add_pages_source_runtime.sql similarity index 100% rename from internal/db/migrator/goose/sqlite/202607190001_add_pages_source_runtime.sql rename to internal/db/migrator/goose/sqlite/202607190002_add_pages_source_runtime.sql diff --git a/internal/db/migrator/goose/sqlite/202607190002_seed_pages_source_scan.sql b/internal/db/migrator/goose/sqlite/202607190003_seed_pages_source_scan.sql similarity index 100% rename from internal/db/migrator/goose/sqlite/202607190002_seed_pages_source_scan.sql rename to internal/db/migrator/goose/sqlite/202607190003_seed_pages_source_scan.sql diff --git a/internal/db/migrator/migrator_test.go b/internal/db/migrator/migrator_test.go index 780bdcb7..d165b231 100644 --- a/internal/db/migrator/migrator_test.go +++ b/internal/db/migrator/migrator_test.go @@ -19,8 +19,9 @@ import ( ) // expectedMigratedSystemConfigCount 包含初始 32 项系统配置、202606220004 -// 从 of_options 迁移过来的 48 项业务配置,以及 Pages 的 2 项业务配置。 -const expectedMigratedSystemConfigCount = 82 +// 从 of_options 迁移过来的 48 项业务配置、Pages 的 2 项业务配置, +// 以及 OpenResty 默认限流的 3 项业务配置。 +const expectedMigratedSystemConfigCount = 85 func TestMigrateInitializesSQLiteDatabase(t *testing.T) { sqliteDB, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{ diff --git a/internal/db/migrator/pages_source_migration_test.go b/internal/db/migrator/pages_source_migration_test.go index be0534a8..866cfbfd 100644 --- a/internal/db/migrator/pages_source_migration_test.go +++ b/internal/db/migrator/pages_source_migration_test.go @@ -21,8 +21,8 @@ import ( ) const ( - pagesSourcePreviousMigration = int64(202607180001) - pagesSourceMigration = int64(202607190001) + pagesSourcePreviousMigration = int64(202607190001) + pagesSourceMigration = int64(202607190002) pagesMigrationProjectID = uint(900001) pagesMigrationDeploymentID = uint(900001) ) diff --git a/internal/db/migrator/pages_source_scan_migration_test.go b/internal/db/migrator/pages_source_scan_migration_test.go index 3ee01b33..fa1d24c3 100644 --- a/internal/db/migrator/pages_source_scan_migration_test.go +++ b/internal/db/migrator/pages_source_scan_migration_test.go @@ -21,8 +21,8 @@ import ( ) const ( - pagesSourceScanPreviousMigration = int64(202607190001) - pagesSourceScanMigration = int64(202607190002) + pagesSourceScanPreviousMigration = int64(202607190002) + pagesSourceScanMigration = int64(202607190003) pagesSourceScanTaskType = "of_pages_source_scan" ) @@ -114,8 +114,8 @@ func runPagesSourceScanScheduleMigration( func TestPagesSourceScanScheduleMigrationsUseDatabaseGeneratedIDs(t *testing.T) { for _, name := range []string{ - "goose/postgres/202607190002_seed_pages_source_scan.sql", - "goose/sqlite/202607190002_seed_pages_source_scan.sql", + "goose/postgres/202607190003_seed_pages_source_scan.sql", + "goose/sqlite/202607190003_seed_pages_source_scan.sql", } { t.Run(name, func(t *testing.T) { content, err := migrationFS.ReadFile(name) @@ -126,7 +126,7 @@ func TestPagesSourceScanScheduleMigrationsUseDatabaseGeneratedIDs(t *testing.T) }) } - postgresContent, err := migrationFS.ReadFile("goose/postgres/202607190002_seed_pages_source_scan.sql") + postgresContent, err := migrationFS.ReadFile("goose/postgres/202607190003_seed_pages_source_scan.sql") require.NoError(t, err) compactPostgres := strings.Join(strings.Fields(strings.ToLower(string(postgresContent))), " ") assert.Contains(