style(迁移): 修正迁移脚本的 Ruff 检查问题

将等价字典构造改为字面量并标记未使用字段,保持迁移 SQL 语义。
This commit is contained in:
liuwenxin 2026-11-03 17:18:44 +08:00
parent 5e5304eece
commit 2c003fc4a7
3 changed files with 24 additions and 24 deletions

View File

@ -15,22 +15,22 @@ def upgrade():
bind=op.get_bind() bind=op.get_bind()
for sql in DDL: for sql in DDL:
op.execute(sql) op.execute(sql)
for code,name,kind,parent,order in PERMISSIONS: for code,name,kind,_parent,order in PERMISSIONS:
bind.execute(sa.text("INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES (:code,:name,:kind,:order,1)"),dict(code=code,name=name,kind=kind,order=order)) bind.execute(sa.text("INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES (:code,:name,:kind,:order,1)"),{"code": code,"name": name,"kind": kind,"order": order})
for code,_,_,parent,_ in PERMISSIONS: for code,_,_,parent,_ in PERMISSIONS:
if parent: if parent:
bind.execute(sa.text("UPDATE permissions p JOIN permissions parent ON parent.perm_code=:parent SET p.parent_id=parent.id WHERE p.perm_code=:code"),dict(parent=parent,code=code)) bind.execute(sa.text("UPDATE permissions p JOIN permissions parent ON parent.perm_code=:parent SET p.parent_id=parent.id WHERE p.perm_code=:code"),{"parent": parent,"code": code})
bind.execute(sa.text("INSERT INTO roles (role_code,role_name,description,sort_order,status) VALUES ('payroll_maker','工资制作人','指定制作人还需在权限设置中绑定,角色本身不能绕过月份锁',5,1)")) bind.execute(sa.text("INSERT INTO roles (role_code,role_name,description,sort_order,status) VALUES ('payroll_maker','工资制作人','指定制作人还需在权限设置中绑定,角色本身不能绕过月份锁',5,1)"))
for role,codes in DEFAULTS.items(): for role,codes in DEFAULTS.items():
for code in codes: for code in codes:
bind.execute(sa.text("INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code=:code WHERE r.role_code=:role"),dict(code=code,role=role)) bind.execute(sa.text("INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code=:code WHERE r.role_code=:role"),{"code": code,"role": role})
from app.core.config import get_settings from app.core.config import get_settings
maker=get_settings().payroll_maker_user_id maker=get_settings().payroll_maker_user_id
if maker is not None and not bind.execute(sa.text("SELECT id FROM users WHERE id=:id AND status=1"),dict(id=maker)).scalar(): if maker is not None and not bind.execute(sa.text("SELECT id FROM users WHERE id=:id AND status=1"),{"id": maker}).scalar():
raise RuntimeError("旧工资制作人账号无效,请修正配置后重试迁移") raise RuntimeError("旧工资制作人账号无效,请修正配置后重试迁移")
bind.execute(sa.text("INSERT INTO authorization_settings (id,maker_user_id,revision) VALUES (1,:maker,1)"),dict(maker=maker)) bind.execute(sa.text("INSERT INTO authorization_settings (id,maker_user_id,revision) VALUES (1,:maker,1)"),{"maker": maker})
if maker is not None: if maker is not None:
bind.execute(sa.text("INSERT INTO user_roles (user_id,role_id) SELECT :maker,id FROM roles WHERE role_code='payroll_maker'"),dict(maker=maker)) bind.execute(sa.text("INSERT INTO user_roles (user_id,role_id) SELECT :maker,id FROM roles WHERE role_code='payroll_maker'"),{"maker": maker})
def downgrade(): def downgrade():
bind=op.get_bind() bind=op.get_bind()
@ -40,8 +40,8 @@ def downgrade():
op.drop_table('authorization_settings') op.drop_table('authorization_settings')
codes=[row[0] for row in PERMISSIONS] codes=[row[0] for row in PERMISSIONS]
for code in codes: for code in codes:
bind.execute(sa.text("DELETE rp FROM role_permissions rp JOIN permissions p ON p.id=rp.permission_id WHERE p.perm_code=:code"),dict(code=code)) bind.execute(sa.text("DELETE rp FROM role_permissions rp JOIN permissions p ON p.id=rp.permission_id WHERE p.perm_code=:code"),{"code": code})
bind.execute(sa.text("DELETE ur FROM user_roles ur JOIN roles r ON r.id=ur.role_id WHERE r.role_code='payroll_maker'")) bind.execute(sa.text("DELETE ur FROM user_roles ur JOIN roles r ON r.id=ur.role_id WHERE r.role_code='payroll_maker'"))
bind.execute(sa.text("DELETE FROM roles WHERE role_code='payroll_maker'")) bind.execute(sa.text("DELETE FROM roles WHERE role_code='payroll_maker'"))
for code in reversed(codes): for code in reversed(codes):
bind.execute(sa.text("DELETE FROM permissions WHERE perm_code=:code"),dict(code=code)) bind.execute(sa.text("DELETE FROM permissions WHERE perm_code=:code"),{"code": code})

View File

@ -105,19 +105,19 @@ def upgrade():
op.bulk_insert( op.bulk_insert(
definitions, definitions,
[ [
dict( {
param_code=f"coefficient.personal.{field}", "param_code": f"coefficient.personal.{field}",
param_name=title, "param_name": title,
param_group="产品系数表", "param_group": "产品系数表",
value_type=kind, "value_type": kind,
unit=unit, "unit": unit,
dimension_type="PRODUCT_CATEGORY", "dimension_type": "PRODUCT_CATEGORY",
value_min="1" if kind == "INT" else "0", "value_min": "1" if kind == "INT" else "0",
value_max="3660" if kind == "INT" else None, "value_max": "3660" if kind == "INT" else None,
description="按产品类别维护;未配置时沿用同日期的通用业务员参数。", "description": "按产品类别维护;未配置时沿用同日期的通用业务员参数。",
sort_order=52 + index, "sort_order": 52 + index,
status=1, "status": 1,
) }
for index, (field, title, kind, unit) in enumerate(fields) for index, (field, title, kind, unit) in enumerate(fields)
], ],
) )

View File

@ -14,8 +14,8 @@ def upgrade():
("system:monitor:view", "系统监控:查看", 1), ("system:monitor:view", "系统监控:查看", 1),
("system:monitor:export", "系统监控:导出", 2), ("system:monitor:export", "系统监控:导出", 2),
): ):
bind.execute(sa.text("INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) SELECT :code,:name,:kind,100,1 WHERE NOT EXISTS (SELECT 1 FROM permissions WHERE perm_code=:code)"), dict(code=code,name=name,kind=kind)) bind.execute(sa.text("INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) SELECT :code,:name,:kind,100,1 WHERE NOT EXISTS (SELECT 1 FROM permissions WHERE perm_code=:code)"), {"code": code,"name": name,"kind": kind})
bind.execute(sa.text("INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code=:code WHERE r.role_code='admin' AND NOT EXISTS (SELECT 1 FROM role_permissions old WHERE old.role_id=r.id AND old.permission_id=p.id)"), dict(code=code)) bind.execute(sa.text("INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code=:code WHERE r.role_code='admin' AND NOT EXISTS (SELECT 1 FROM role_permissions old WHERE old.role_id=r.id AND old.permission_id=p.id)"), {"code": code})
bind.execute(sa.text("UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:monitor:view' SET p.parent_id=parent.id WHERE p.perm_code='system:monitor:export'")) bind.execute(sa.text("UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:monitor:view' SET p.parent_id=parent.id WHERE p.perm_code='system:monitor:export'"))