工作台重命名:无界·无界 → 学会·无界
- ALL_TENANTS / session / seed / migrations 全部同步 - 新增 migrate_rename_tenant() 数据迁移,启动自动 UPDATE 所有表 - migrations/ 模式重构(参考 SalesManager)
This commit is contained in:
55
backend/migrations/seed.py
Normal file
55
backend/migrations/seed.py
Normal file
@@ -0,0 +1,55 @@
|
||||
"""migrations/seed.py — 初始化默认用户和示例数据(仅在空库时执行)"""
|
||||
|
||||
from datetime import date
|
||||
|
||||
|
||||
def migrate_seed_users():
|
||||
"""初始化默认用户和工作台权限(仅空库时执行)"""
|
||||
from flask_app import db, _exec, one, generate_password_hash
|
||||
|
||||
conn = db()
|
||||
try:
|
||||
if one(conn, "SELECT id FROM users LIMIT 1"):
|
||||
return # 已有用户,跳过
|
||||
|
||||
default_users = [
|
||||
("qiukai", "yxcowork2026", "qiukai", "admin"),
|
||||
("kepu", "kepu123", "科普负责人", "opc_owner"),
|
||||
("keyan", "keyan123", "科研负责人", "opc_owner"),
|
||||
("yihuan", "yihuan123", "医患负责人", "opc_owner"),
|
||||
("mcn", "mcn123", "MCN负责人", "opc_owner"),
|
||||
("wuji", "wuji123", "无界负责人", "opc_owner"),
|
||||
]
|
||||
for username, pwd, display, role in default_users:
|
||||
_exec(conn, "INSERT INTO users (username, password_hash, display_name, role, created_at) VALUES (?,?,?,?,?)",
|
||||
(username, generate_password_hash(pwd, "pbkdf2:sha256"), display, role, date.today().isoformat()))
|
||||
|
||||
# 绑定工作台
|
||||
tenant_map = [
|
||||
("kepu", "科普·无界"), ("keyan", "科研·无界"), ("yihuan", "医患·无界"),
|
||||
("mcn", "MCN·无界"), ("wuji", "学会·无界"),
|
||||
]
|
||||
for uname, tenant in tenant_map:
|
||||
u = one(conn, "SELECT id FROM users WHERE username=?", (uname,))
|
||||
if u:
|
||||
_exec(conn, "INSERT INTO user_tenants (user_id, tenant) VALUES (?,?)", (u["id"], tenant))
|
||||
|
||||
conn.commit()
|
||||
print("[migrate] 默认用户已初始化")
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
|
||||
def migrate_seed_demo_data():
|
||||
"""填充初始示例数据(仅在空库时执行)"""
|
||||
from flask_app import db, one, seed_db
|
||||
|
||||
conn = db()
|
||||
try:
|
||||
if one(conn, "SELECT id FROM sales_leads LIMIT 1"):
|
||||
return # 已有数据,跳过
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
seed_db()
|
||||
print("[migrate] 示例数据已填充")
|
||||
Reference in New Issue
Block a user