feat(M07-A): 建立双余额账本
This commit is contained in:
@@ -69,6 +69,9 @@ const deviceTopologyVerifySql = read('database/migrations/2026062219_m06b_device
|
||||
const iotMessagesUpSql = read('database/migrations/2026062220_m06c_iot_messages.up.sql');
|
||||
const iotMessagesDownSql = read('database/migrations/2026062220_m06c_iot_messages.down.sql');
|
||||
const iotMessagesVerifySql = read('database/migrations/2026062220_m06c_iot_messages.verify.sql');
|
||||
const walletUpSql = read('database/migrations/2026062421_m07a_wallet_ledger.up.sql');
|
||||
const walletDownSql = read('database/migrations/2026062421_m07a_wallet_ledger.down.sql');
|
||||
const walletVerifySql = read('database/migrations/2026062421_m07a_wallet_ledger.verify.sql');
|
||||
|
||||
const coreTables = [
|
||||
'qipai_schema_migrations',
|
||||
@@ -315,5 +318,17 @@ assert.match(iotMessagesUpSql, /command_id VARCHAR\(13\)/);
|
||||
assert.match(iotMessagesUpSql, /uq_qipai_iot_event_dedup/);
|
||||
assert.match(iotMessagesUpSql, /receive_count INT UNSIGNED/);
|
||||
assert.match(iotMessagesUpSql, /PENDING/);
|
||||
for (const table of [
|
||||
'qipai_wallet_scope_policies', 'qipai_wallet_accounts', 'qipai_wallet_ledger_entries'
|
||||
]) {
|
||||
assert.match(walletUpSql, new RegExp(`CREATE TABLE IF NOT EXISTS ${table}`));
|
||||
assert.match(walletDownSql, new RegExp(`DROP TABLE IF EXISTS ${table}`));
|
||||
assert.match(walletVerifySql, new RegExp(`'${table}'`));
|
||||
}
|
||||
assert.match(walletUpSql, /cash_balance_cents INT NOT NULL DEFAULT 0/);
|
||||
assert.match(walletUpSql, /gift_balance_cents INT NOT NULL DEFAULT 0/);
|
||||
assert.match(walletUpSql, /uq_qipai_wallet_ledger_business/);
|
||||
assert.match(walletUpSql, /cash_delta_cents INT NOT NULL DEFAULT 0/);
|
||||
assert.match(walletUpSql, /gift_delta_cents INT NOT NULL DEFAULT 0/);
|
||||
|
||||
console.log('PASS: M01-B through M06-C migration contracts are present.');
|
||||
console.log('PASS: M01-B through M07-A migration contracts are present.');
|
||||
|
||||
Reference in New Issue
Block a user