refactor(db): 移除对分区表列类型的冗余修改

删除在DatabaseManager中重复修改分区表room_id和ip列类型的代码,因为这些修改已在主表上执行并自动应用到所有分区
This commit is contained in:
2026-01-14 19:31:29 +08:00
parent 910f1c353f
commit eb35635253

View File

@@ -234,29 +234,6 @@ class DatabaseManager {
await this.pool.query( await this.pool.query(
'ALTER TABLE heartbeat.heartbeat_events ADD CONSTRAINT chk_room_id_len CHECK (char_length(room_id) > 0 AND char_length(room_id) <= 50)' 'ALTER TABLE heartbeat.heartbeat_events ADD CONSTRAINT chk_room_id_len CHECK (char_length(room_id) > 0 AND char_length(room_id) <= 50)'
); );
const parts = await this.pool.query(
`
SELECT c.relname AS partition
FROM pg_inherits i
JOIN pg_class c ON c.oid = i.inhrelid
JOIN pg_class p ON p.oid = i.inhparent
JOIN pg_namespace n ON n.oid = p.relnamespace
WHERE n.nspname = 'heartbeat'
AND p.relname = 'heartbeat_events'
ORDER BY c.relname
`
);
for (const row of parts.rows ?? []) {
const name = row?.partition;
if (!name) continue;
await this.pool.query(
`ALTER TABLE heartbeat.${this.escapeIdentifier(name)}
ALTER COLUMN room_id TYPE varchar(50)
USING room_id::text`
);
}
} }
async ensureIpColumnVarchar() { async ensureIpColumnVarchar() {
@@ -284,29 +261,6 @@ class DatabaseManager {
ALTER COLUMN ip TYPE varchar(21) ALTER COLUMN ip TYPE varchar(21)
USING ip::text` USING ip::text`
); );
const parts = await this.pool.query(
`
SELECT c.relname AS partition
FROM pg_inherits i
JOIN pg_class c ON c.oid = i.inhrelid
JOIN pg_class p ON p.oid = i.inhparent
JOIN pg_namespace n ON n.oid = p.relnamespace
WHERE n.nspname = 'heartbeat'
AND p.relname = 'heartbeat_events'
ORDER BY c.relname
`
);
for (const row of parts.rows ?? []) {
const name = row?.partition;
if (!name) continue;
await this.pool.query(
`ALTER TABLE heartbeat.${this.escapeIdentifier(name)}
ALTER COLUMN ip TYPE varchar(21)
USING ip::text`
);
}
} }
escapeIdentifier(id) { escapeIdentifier(id) {