-- 修复 ORM 模型与实际数据库表结构不一致的问题 -- 问题:ORM 模型定义了多个列,但数据库表中不存在,导致 SQLAlchemy 查询报 Unknown column 错误 -- 执行日期:2026-05-31 -- ============================================ -- 1. product 表:添加 ORM 模型中存在但数据库缺失的 6 个列 -- ============================================ ALTER TABLE `product` ADD COLUMN `pricing_type` varchar(32) NULL DEFAULT NULL COMMENT '计价方式:area/weight' AFTER `sale_price`, ADD COLUMN `pricing_unit` varchar(16) NULL DEFAULT '㎡' COMMENT '计价单位' AFTER `pricing_type`, ADD COLUMN `thickness` varchar(32) NULL DEFAULT NULL COMMENT '厚度' AFTER `pricing_unit`, ADD COLUMN `weight_gsm` int NULL DEFAULT NULL COMMENT '克重(gsm)' AFTER `thickness`, ADD COLUMN `default_width_m` decimal(10,4) NULL DEFAULT NULL COMMENT '默认宽度(米)' AFTER `weight_gsm`, ADD COLUMN `is_default` int NOT NULL DEFAULT 0 COMMENT '是否默认规格:0否 1是' AFTER `status`; -- ============================================ -- 2. sales_order_item 表:添加 ORM 模型中存在但数据库缺失的 8 个列 -- ============================================ ALTER TABLE `sales_order_item` ADD COLUMN `pricing_type` varchar(32) NULL DEFAULT NULL COMMENT '计价方式:area/weight' AFTER `other_fee_amount`, ADD COLUMN `length_m` decimal(10,4) NULL DEFAULT NULL COMMENT '长度(米)' AFTER `pricing_type`, ADD COLUMN `width_m` decimal(10,4) NULL DEFAULT NULL COMMENT '宽度(米)' AFTER `length_m`, ADD COLUMN `area_sqm` decimal(18,4) NULL DEFAULT NULL COMMENT '面积(平方米)' AFTER `width_m`, ADD COLUMN `surcharge_detail` text NULL DEFAULT NULL COMMENT '附加费用明细' AFTER `area_sqm`, ADD COLUMN `processing_detail` text NULL DEFAULT NULL COMMENT '加工费用明细' AFTER `surcharge_detail`, ADD COLUMN `supplier_id` int NULL DEFAULT NULL COMMENT '供应商ID' AFTER `processing_detail`, ADD COLUMN `supplier_model` varchar(64) NULL DEFAULT NULL COMMENT '供应商型号' AFTER `supplier_id`, ADD COLUMN `price_tier` varchar(32) NULL DEFAULT NULL COMMENT '价格层级' AFTER `supplier_model`;