diff --git a/backend/migrations/__init__.py b/backend/migrations/__init__.py index db13c5b..7bc65c6 100644 --- a/backend/migrations/__init__.py +++ b/backend/migrations/__init__.py @@ -17,7 +17,7 @@ def run_migrations(): """ from migrations.tables import migrate_create_tables from migrations.columns import migrate_add_columns - from migrations.data_fixes import migrate_fix_task_status, migrate_rename_tenant, migrate_drop_product_fields, migrate_fix_service_fee_standard, migrate_fix_expense_status, migrate_rename_xuehui_to_xueshu, migrate_rename_zong_to_overview + from migrations.data_fixes import migrate_fix_task_status, migrate_rename_tenant, migrate_drop_product_fields, migrate_fix_service_fee_standard, migrate_fix_expense_status, migrate_rename_xuehui_to_xueshu, migrate_rename_zong_to_overview, migrate_add_test_tenant from migrations.data_split import migrate_data_split from migrations.seed import migrate_seed_users, migrate_seed_demo_data @@ -30,6 +30,7 @@ def run_migrations(): migrate_fix_expense_status() migrate_rename_xuehui_to_xueshu() migrate_rename_zong_to_overview() + migrate_add_test_tenant() migrate_data_split() migrate_seed_users() migrate_seed_demo_data() diff --git a/backend/migrations/data_fixes.py b/backend/migrations/data_fixes.py index 003a5bb..1d3ce49 100644 --- a/backend/migrations/data_fixes.py +++ b/backend/migrations/data_fixes.py @@ -157,3 +157,26 @@ def migrate_rename_zong_to_overview(): pass finally: conn.close() + + +def migrate_add_test_tenant(): + """为所有 opc_owner 用户添加 测试·无界 工作台权限""" + from db import db, mysql + + conn = db() + try: + cur = conn.cursor(dictionary=True) + cur.execute("SELECT id, username FROM users WHERE role = 'opc_owner'") + users = cur.fetchall() + added = 0 + for u in users: + cur.execute("SELECT id FROM user_tenants WHERE user_id = %s AND tenant = %s", (u["id"], "测试·无界")) + if not cur.fetchone(): + cur.execute("INSERT INTO user_tenants (user_id, tenant) VALUES (%s, %s)", (u["id"], "测试·无界")) + added += 1 + if added: + conn.commit() + print(f"[migrate] 为 {added} 个 opc_owner 用户添加了 '测试·无界' 工作台权限") + cur.close() + finally: + conn.close()