fix(db): 禁止修改已发布迁移并分批兼容旧库
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import test from 'node:test'
|
||||
|
||||
import { changedPublishedMigrations } from './migration-integrity.js'
|
||||
|
||||
test('迁移完整性:新增迁移允许,已发布迁移任何修改都拒绝', () => {
|
||||
assert.deepEqual(
|
||||
changedPublishedMigrations(
|
||||
[
|
||||
'A\tsrc/db/migrations/153_new_feature.sql',
|
||||
'M\tsrc/db/migrations/146_voucher_consume_fallback_channel.sql',
|
||||
'D\tsrc/db/migrations/145_fulfillment_current_attempt_latest.sql',
|
||||
].join('\n'),
|
||||
),
|
||||
[
|
||||
'M src/db/migrations/146_voucher_consume_fallback_channel.sql',
|
||||
'D src/db/migrations/145_fulfillment_current_attempt_latest.sql',
|
||||
],
|
||||
)
|
||||
})
|
||||
|
||||
test('迁移完整性:保护范围不由固定版本号截断', () => {
|
||||
assert.deepEqual(
|
||||
changedPublishedMigrations('M\tsrc/db/migrations/120_fulfillment_routing_invariants.sql'),
|
||||
['M src/db/migrations/120_fulfillment_routing_invariants.sql'],
|
||||
)
|
||||
})
|
||||
Reference in New Issue
Block a user