style(迁移): 修正迁移脚本的 Ruff 检查问题
将等价字典构造改为字面量并标记未使用字段,保持迁移 SQL 语义。
This commit is contained in:
parent
5e5304eece
commit
2c003fc4a7
@ -15,22 +15,22 @@ def upgrade():
|
||||
bind=op.get_bind()
|
||||
for sql in DDL:
|
||||
op.execute(sql)
|
||||
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))
|
||||
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)"),{"code": code,"name": name,"kind": kind,"order": order})
|
||||
for code,_,_,parent,_ in PERMISSIONS:
|
||||
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)"))
|
||||
for role,codes in DEFAULTS.items():
|
||||
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
|
||||
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("旧工资制作人账号无效,请修正配置后重试迁移")
|
||||
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:
|
||||
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():
|
||||
bind=op.get_bind()
|
||||
@ -40,8 +40,8 @@ def downgrade():
|
||||
op.drop_table('authorization_settings')
|
||||
codes=[row[0] for row in PERMISSIONS]
|
||||
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 FROM roles WHERE role_code='payroll_maker'"))
|
||||
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})
|
||||
|
||||
@ -105,19 +105,19 @@ def upgrade():
|
||||
op.bulk_insert(
|
||||
definitions,
|
||||
[
|
||||
dict(
|
||||
param_code=f"coefficient.personal.{field}",
|
||||
param_name=title,
|
||||
param_group="产品系数表",
|
||||
value_type=kind,
|
||||
unit=unit,
|
||||
dimension_type="PRODUCT_CATEGORY",
|
||||
value_min="1" if kind == "INT" else "0",
|
||||
value_max="3660" if kind == "INT" else None,
|
||||
description="按产品类别维护;未配置时沿用同日期的通用业务员参数。",
|
||||
sort_order=52 + index,
|
||||
status=1,
|
||||
)
|
||||
{
|
||||
"param_code": f"coefficient.personal.{field}",
|
||||
"param_name": title,
|
||||
"param_group": "产品系数表",
|
||||
"value_type": kind,
|
||||
"unit": unit,
|
||||
"dimension_type": "PRODUCT_CATEGORY",
|
||||
"value_min": "1" if kind == "INT" else "0",
|
||||
"value_max": "3660" if kind == "INT" else None,
|
||||
"description": "按产品类别维护;未配置时沿用同日期的通用业务员参数。",
|
||||
"sort_order": 52 + index,
|
||||
"status": 1,
|
||||
}
|
||||
for index, (field, title, kind, unit) in enumerate(fields)
|
||||
],
|
||||
)
|
||||
|
||||
@ -14,8 +14,8 @@ def upgrade():
|
||||
("system:monitor:view", "系统监控:查看", 1),
|
||||
("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 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 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)"), {"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'"))
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user