From a2d32613eca9554b7a1c2c49640ffb0cdaced6b8 Mon Sep 17 00:00:00 2001 From: chengkml Date: Fri, 1 May 2026 12:17:25 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=20users=20=E5=AE=A1=E8=AE=A1?= =?UTF-8?q?=E4=BA=BA=E5=AD=97=E6=AE=B5=E5=BC=BA=E5=88=B6=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: multica-agent --- api/app/core/database.py | 37 ------------------------------------- api/app/models/user.py | 11 ----------- 2 files changed, 48 deletions(-) diff --git a/api/app/core/database.py b/api/app/core/database.py index d764ab4..7768d78 100644 --- a/api/app/core/database.py +++ b/api/app/core/database.py @@ -103,42 +103,6 @@ def _ensure_user_timestamp_column_compatibility() -> None: ) -def _ensure_user_audit_column_compatibility() -> None: - """ - Keep `users` audit actor columns aligned with current ORM mapping. - - Legacy deployments may still use `create_user` / `update_user`, - while current models expect `created_by` / `updated_by`. - """ - if not database_url.startswith("postgresql"): - return - - schema = settings.resolved_db_schema - with engine.begin() as connection: - db_inspector = inspect(connection) - if not db_inspector.has_table("users", schema=schema): - return - - column_names = { - column["name"] - for column in db_inspector.get_columns("users", schema=schema) - } - - if "created_by" not in column_names and "create_user" in column_names: - connection.execute(text("ALTER TABLE users RENAME COLUMN create_user TO created_by")) - logger.warning( - "Detected legacy users.create_user; renamed to users.created_by for schema compatibility.", - ) - column_names.remove("create_user") - column_names.add("created_by") - - if "updated_by" not in column_names and "update_user" in column_names: - connection.execute(text("ALTER TABLE users RENAME COLUMN update_user TO updated_by")) - logger.warning( - "Detected legacy users.update_user; renamed to users.updated_by for schema compatibility.", - ) - - def get_db() -> Generator[Session, None, None]: db = SessionLocal() try: @@ -177,7 +141,6 @@ def init_db() -> None: _ensure_user_pk_column_compatibility() _ensure_user_timestamp_column_compatibility() - _ensure_user_audit_column_compatibility() Base.metadata.create_all(bind=engine) with SessionLocal() as db: local_hosts = {"db", "localhost", "127.0.0.1", "::1"} diff --git a/api/app/models/user.py b/api/app/models/user.py index 8dc9640..ef5bb14 100644 --- a/api/app/models/user.py +++ b/api/app/models/user.py @@ -56,17 +56,6 @@ class User(Base): default=utcnow, onupdate=utcnow, ) - create_user: Mapped[str | None] = mapped_column( - "created_by", - String(64), - nullable=True, - ) - update_user: Mapped[str | None] = mapped_column( - "updated_by", - String(64), - nullable=True, - ) - @property def last_login_at(self) -> datetime | None: return self.updated_at