From eb3563525374d6688765461b4ef6caff1cc11e0d Mon Sep 17 00:00:00 2001 From: XuJiacheng Date: Wed, 14 Jan 2026 19:31:29 +0800 Subject: [PATCH] =?UTF-8?q?refactor(db):=20=E7=A7=BB=E9=99=A4=E5=AF=B9?= =?UTF-8?q?=E5=88=86=E5=8C=BA=E8=A1=A8=E5=88=97=E7=B1=BB=E5=9E=8B=E7=9A=84?= =?UTF-8?q?=E5=86=97=E4=BD=99=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 删除在DatabaseManager中重复修改分区表room_id和ip列类型的代码,因为这些修改已在主表上执行并自动应用到所有分区 --- src/db/databaseManager.js | 46 --------------------------------------- 1 file changed, 46 deletions(-) diff --git a/src/db/databaseManager.js b/src/db/databaseManager.js index c2dd203..2168aa0 100644 --- a/src/db/databaseManager.js +++ b/src/db/databaseManager.js @@ -234,29 +234,6 @@ class DatabaseManager { 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)' ); - - 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() { @@ -284,29 +261,6 @@ class DatabaseManager { ALTER COLUMN ip TYPE varchar(21) 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) {