From b16f92314b56b33bffd83604c26344b104655cbb Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Mon, 9 Feb 2026 18:40:15 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E8=87=AA=E5=8A=A8=E8=BD=AC=E6=8D=A2my?= =?UTF-8?q?sql=E8=A1=A8=E6=A0=BCengine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migration-mysql/v10039__mysql_engine.sql | 36 +++++++++++++++++++ .../db/migration-pg/v10039__mysql_engine.sql | 1 + .../db/migration/v10039__mysql_engine.sql | 1 + packages/ui/certd-server/db/transform.js | 20 +++++++++-- 4 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 packages/ui/certd-server/db/migration-mysql/v10039__mysql_engine.sql create mode 100644 packages/ui/certd-server/db/migration-pg/v10039__mysql_engine.sql create mode 100644 packages/ui/certd-server/db/migration/v10039__mysql_engine.sql diff --git a/packages/ui/certd-server/db/migration-mysql/v10039__mysql_engine.sql b/packages/ui/certd-server/db/migration-mysql/v10039__mysql_engine.sql new file mode 100644 index 000000000..d1095a934 --- /dev/null +++ b/packages/ui/certd-server/db/migration-mysql/v10039__mysql_engine.sql @@ -0,0 +1,36 @@ + +ALTER TABLE `cd_access` ENGINE = InnoDB; +ALTER TABLE `cd_addon` ENGINE = InnoDB; +ALTER TABLE `cd_cert_info` ENGINE = InnoDB; +ALTER TABLE `cd_cname_provider` ENGINE = InnoDB; +ALTER TABLE `cd_cname_record` ENGINE = InnoDB; +ALTER TABLE `cd_domain` ENGINE = InnoDB; +ALTER TABLE `cd_group` ENGINE = InnoDB; +ALTER TABLE `cd_oauth_bound` ENGINE = InnoDB; +ALTER TABLE `cd_open_key` ENGINE = InnoDB; +ALTER TABLE `cd_product` ENGINE = InnoDB; +ALTER TABLE `cd_site_info` ENGINE = InnoDB; +ALTER TABLE `cd_site_ip` ENGINE = InnoDB; +ALTER TABLE `cd_trade` ENGINE = InnoDB; +ALTER TABLE `cd_user_suite` ENGINE = InnoDB; +ALTER TABLE `flyway_history` ENGINE = InnoDB; +ALTER TABLE `pi_history` ENGINE = InnoDB; +ALTER TABLE `pi_history_log` ENGINE = InnoDB; +ALTER TABLE `pi_notification` ENGINE = InnoDB; +ALTER TABLE `pi_pipeline` ENGINE = InnoDB; +ALTER TABLE `pi_pipeline_group` ENGINE = InnoDB; +ALTER TABLE `pi_plugin` ENGINE = InnoDB; +ALTER TABLE `pi_storage` ENGINE = InnoDB; +ALTER TABLE `pi_sub_domain` ENGINE = InnoDB; +ALTER TABLE `pi_template` ENGINE = InnoDB; +ALTER TABLE `sys_permission` ENGINE = InnoDB; +ALTER TABLE `sys_role` ENGINE = InnoDB; +ALTER TABLE `sys_role_permission` ENGINE = InnoDB; +ALTER TABLE `sys_settings` ENGINE = InnoDB; +ALTER TABLE `sys_user` ENGINE = InnoDB; +ALTER TABLE `sys_user_role` ENGINE = InnoDB; +ALTER TABLE `user_settings` ENGINE = InnoDB; + +ALTER TABLE `cd_audit_log` ENGINE = InnoDB; +ALTER TABLE `cd_project` ENGINE = InnoDB; +ALTER TABLE `cd_project_member` ENGINE = InnoDB; diff --git a/packages/ui/certd-server/db/migration-pg/v10039__mysql_engine.sql b/packages/ui/certd-server/db/migration-pg/v10039__mysql_engine.sql new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/packages/ui/certd-server/db/migration-pg/v10039__mysql_engine.sql @@ -0,0 +1 @@ + diff --git a/packages/ui/certd-server/db/migration/v10039__mysql_engine.sql b/packages/ui/certd-server/db/migration/v10039__mysql_engine.sql new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/packages/ui/certd-server/db/migration/v10039__mysql_engine.sql @@ -0,0 +1 @@ + diff --git a/packages/ui/certd-server/db/transform.js b/packages/ui/certd-server/db/transform.js index fbdf395f9..4e6aa799a 100644 --- a/packages/ui/certd-server/db/transform.js +++ b/packages/ui/certd-server/db/transform.js @@ -75,8 +75,24 @@ function transformMysql() { pgSql = pgSql.replaceAll(/text/g, 'longtext'); //双引号 替换成反引号 pgSql = pgSql.replaceAll(/"/g, '`'); - //create table if not exists - pgSql = pgSql.replaceAll(/CREATE TABLE ([ ]+)`/g, 'CREATE TABLE IF NOT EXISTS `'); + + + //提取所有的 create table 的表格name + const tableNames = pgSql.match(/CREATE TABLE `([^`]*)`/g); + if (tableNames && tableNames.length > 0) { + for (const item of tableNames) { + /** + * CREATE TABLE `cd_project` +CREATE TABLE `cd_project_member` +CREATE TABLE `cd_audit_log` + */ + //提取表名 + const tableName = item.match(/`([^`]*)`/)[1]; + pgSql += `\nALTER TABLE \`${tableName}\` ENGINE = InnoDB;` + } + } + + fs.writeFileSync(`./migration-mysql/${notFile}`, pgSql); }