feat(M03-B): 完成装修广告与媒体管理

This commit is contained in:
Codex
2026-06-18 15:06:16 +08:00
parent 7e9b53487b
commit f74624296d
19 changed files with 1241 additions and 13 deletions
+14 -1
View File
@@ -30,6 +30,9 @@ const userManagementVerifySql = read('database/migrations/2026061806_m02d_user_m
const storeRoomUpSql = read('database/migrations/2026061807_m03a_store_room_domain.up.sql');
const storeRoomDownSql = read('database/migrations/2026061807_m03a_store_room_domain.down.sql');
const storeRoomVerifySql = read('database/migrations/2026061807_m03a_store_room_domain.verify.sql');
const contentUpSql = read('database/migrations/2026061808_m03b_decoration_ads_media.up.sql');
const contentDownSql = read('database/migrations/2026061808_m03b_decoration_ads_media.down.sql');
const contentVerifySql = read('database/migrations/2026061808_m03b_decoration_ads_media.verify.sql');
const coreTables = [
'qipai_schema_migrations',
@@ -147,5 +150,15 @@ assert.match(storeRoomUpSql, /configuration_status VARCHAR/);
assert.match(storeRoomUpSql, /operational_status VARCHAR/);
assert.match(storeRoomUpSql, /weekday_price_cents INT UNSIGNED/);
assert.match(storeRoomUpSql, /CHECK \(ends_at > starts_at\)/);
for (const table of [
'qipai_media_assets', 'qipai_store_decorations', 'qipai_advertisements'
]) {
assert.match(contentUpSql, new RegExp(`CREATE TABLE IF NOT EXISTS ${table}`));
assert.match(contentDownSql, new RegExp(`DROP TABLE IF EXISTS ${table}`));
assert.match(contentVerifySql, new RegExp(`'${table}'`));
}
assert.match(contentUpSql, /schema_version INT UNSIGNED/);
assert.match(contentUpSql, /scope_type VARCHAR/);
assert.match(contentUpSql, /checksum_sha256 CHAR\(64\)/);
console.log('PASS: M01-B through M03-A migration contracts are present.');
console.log('PASS: M01-B through M03-B migration contracts are present.');