订单需管理员审核后才开通节点,并更新登录页文案。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-10-10 23:04:24 +08:00
parent 8b55b9cf55
commit f329f647c7
22 changed files with 583 additions and 81 deletions
+20 -11
View File
@@ -7,22 +7,31 @@ from app.database import engine
def upgrade_schema() -> None:
inspector = inspect(engine)
if "users" not in inspector.get_table_names():
return
columns = {column["name"] for column in inspector.get_columns("users")}
tables = set(inspector.get_table_names())
statements: list[str] = []
if "username" not in columns:
statements.append("ALTER TABLE users ADD COLUMN username VARCHAR(32)")
if "password_hash" not in columns:
statements.append("ALTER TABLE users ADD COLUMN password_hash VARCHAR(255)")
if "role" not in columns:
statements.append("ALTER TABLE users ADD COLUMN role VARCHAR(16) DEFAULT 'user' NOT NULL")
if not statements and _has_username_index(inspector):
need_username_index = False
if "users" in tables:
columns = {column["name"] for column in inspector.get_columns("users")}
if "username" not in columns:
statements.append("ALTER TABLE users ADD COLUMN username VARCHAR(32)")
if "password_hash" not in columns:
statements.append("ALTER TABLE users ADD COLUMN password_hash VARCHAR(255)")
if "role" not in columns:
statements.append("ALTER TABLE users ADD COLUMN role VARCHAR(16) DEFAULT 'user' NOT NULL")
need_username_index = not _has_username_index(inspector)
if "compute_nodes" in tables:
node_columns = {column["name"] for column in inspector.get_columns("compute_nodes")}
if "node_token" not in node_columns:
statements.append("ALTER TABLE compute_nodes ADD COLUMN node_token VARCHAR(128)")
statements.append(
"CREATE UNIQUE INDEX IF NOT EXISTS uq_compute_nodes_node_token ON compute_nodes (node_token)"
)
if not statements and not need_username_index:
return
with engine.begin() as conn:
for statement in statements:
conn.execute(text(statement))
if not _has_username_index(inspector):
if need_username_index:
conn.execute(text("CREATE UNIQUE INDEX IF NOT EXISTS uq_users_username ON users (username)"))