From 6724af79513296eb9d393bef301dc35ae0897531 Mon Sep 17 00:00:00 2001 From: wangfq Date: Tue, 2 Jun 2026 18:33:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20ALTER=20TABLE=20=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E8=A1=A5=E5=85=85=20tb=5Ffixture=5Fparam=20=E7=BC=BA=E5=A4=B1?= =?UTF-8?q?=E7=9A=84=20V2.0.3=20=E6=B3=A2=E5=8A=A8=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CREATE TABLE IF NOT EXISTS 不会更新已存在的旧表, 新增 ALTER TABLE ADD COLUMN 自动迁移逻辑(列已存在时忽略) --- src/models.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/models.py b/src/models.py index ae5c08c..5fc1fe3 100644 --- a/src/models.py +++ b/src/models.py @@ -175,6 +175,22 @@ async def _create_tables(pool: aiomysql.Pool): ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 """) + # V2.0.3 迁移:为旧表补充波动测试参数字段 + for col, col_def in [ + ("FarTol", "INT DEFAULT 0 COMMENT '最远容差 cm'"), + ("NearTol", "INT DEFAULT 0 COMMENT '最近容差 cm'"), + ("StepTol", "INT DEFAULT 0 COMMENT '步进容差 cm'"), + ("BackForth", "INT DEFAULT 0 COMMENT '来回次数'"), + ("NearStay", "INT DEFAULT 0 COMMENT '最近停留时间 ms'"), + ("FarStay", "INT DEFAULT 0 COMMENT '最远停留时间 ms'"), + ]: + try: + await cur.execute( + f"ALTER TABLE `tb_fixture_param` ADD COLUMN `{col}` {col_def}" + ) + except Exception: + pass # 列已存在,忽略 + # 7. 车检器测试基准参数表 await cur.execute(""" CREATE TABLE IF NOT EXISTS `tb_vechicle_base_test` (