更新
This commit is contained in:
@@ -196,6 +196,54 @@ def migrate_rules_table(conn) -> None:
|
||||
)
|
||||
|
||||
|
||||
def migrate_roles_table(conn) -> None:
|
||||
"""Ensure roles table exists (create_all usually handles this; keep as safety net)."""
|
||||
try:
|
||||
insp = inspect(conn)
|
||||
if insp.has_table("roles"):
|
||||
return
|
||||
except Exception:
|
||||
return
|
||||
dialect = _dialect(conn)
|
||||
if dialect == "postgresql":
|
||||
conn.execute(
|
||||
text(
|
||||
"""
|
||||
CREATE TABLE roles (
|
||||
id SERIAL PRIMARY KEY,
|
||||
code VARCHAR(50) NOT NULL UNIQUE,
|
||||
label VARCHAR(100) NOT NULL,
|
||||
description VARCHAR(255),
|
||||
is_system BOOLEAN DEFAULT FALSE,
|
||||
is_admin BOOLEAN DEFAULT FALSE,
|
||||
permissions TEXT NOT NULL DEFAULT '[]',
|
||||
created_at TIMESTAMP,
|
||||
updated_at TIMESTAMP
|
||||
)
|
||||
"""
|
||||
)
|
||||
)
|
||||
else:
|
||||
conn.execute(
|
||||
text(
|
||||
"""
|
||||
CREATE TABLE IF NOT EXISTS roles (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
code VARCHAR(50) NOT NULL UNIQUE,
|
||||
label VARCHAR(100) NOT NULL,
|
||||
description VARCHAR(255),
|
||||
is_system BOOLEAN DEFAULT 0,
|
||||
is_admin BOOLEAN DEFAULT 0,
|
||||
permissions TEXT NOT NULL DEFAULT '[]',
|
||||
created_at DATETIME,
|
||||
updated_at DATETIME
|
||||
)
|
||||
"""
|
||||
)
|
||||
)
|
||||
add_index_if_missing(conn, "roles", "ix_roles_code", ("code",))
|
||||
|
||||
|
||||
def migrate_users_table(conn) -> None:
|
||||
add_column_if_missing(
|
||||
conn,
|
||||
|
||||
Reference in New Issue
Block a user