From f7f9a08fa508e9244dca38e5c709e0cd9092afcc Mon Sep 17 00:00:00 2001 From: Asuka Minato Date: Thu, 15 Jan 2026 11:07:02 +0900 Subject: [PATCH] refactor: port TidbAuthBinding( (#31006) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- api/models/dataset.py | 14 +++++++++++--- api/schedule/create_tidb_serverless_task.py | 3 +++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/api/models/dataset.py b/api/models/dataset.py index 445ac6086f..62f11b8c72 100644 --- a/api/models/dataset.py +++ b/api/models/dataset.py @@ -1149,7 +1149,7 @@ class DatasetCollectionBinding(TypeBase): ) -class TidbAuthBinding(Base): +class TidbAuthBinding(TypeBase): __tablename__ = "tidb_auth_bindings" __table_args__ = ( sa.PrimaryKeyConstraint("id", name="tidb_auth_bindings_pkey"), @@ -1158,7 +1158,13 @@ class TidbAuthBinding(Base): sa.Index("tidb_auth_bindings_created_at_idx", "created_at"), sa.Index("tidb_auth_bindings_status_idx", "status"), ) - id: Mapped[str] = mapped_column(StringUUID, primary_key=True, default=lambda: str(uuid4())) + id: Mapped[str] = mapped_column( + StringUUID, + primary_key=True, + insert_default=lambda: str(uuid4()), + default_factory=lambda: str(uuid4()), + init=False, + ) tenant_id: Mapped[str | None] = mapped_column(StringUUID, nullable=True) cluster_id: Mapped[str] = mapped_column(String(255), nullable=False) cluster_name: Mapped[str] = mapped_column(String(255), nullable=False) @@ -1166,7 +1172,9 @@ class TidbAuthBinding(Base): status: Mapped[str] = mapped_column(sa.String(255), nullable=False, server_default=sa.text("'CREATING'")) account: Mapped[str] = mapped_column(String(255), nullable=False) password: Mapped[str] = mapped_column(String(255), nullable=False) - created_at: Mapped[datetime] = mapped_column(DateTime, nullable=False, server_default=func.current_timestamp()) + created_at: Mapped[datetime] = mapped_column( + DateTime, nullable=False, server_default=func.current_timestamp(), init=False + ) class Whitelist(TypeBase): diff --git a/api/schedule/create_tidb_serverless_task.py b/api/schedule/create_tidb_serverless_task.py index c343063fae..ed46c1c70a 100644 --- a/api/schedule/create_tidb_serverless_task.py +++ b/api/schedule/create_tidb_serverless_task.py @@ -50,10 +50,13 @@ def create_clusters(batch_size): ) for new_cluster in new_clusters: tidb_auth_binding = TidbAuthBinding( + tenant_id=None, cluster_id=new_cluster["cluster_id"], cluster_name=new_cluster["cluster_name"], account=new_cluster["account"], password=new_cluster["password"], + active=False, + status="CREATING", ) db.session.add(tidb_auth_binding) db.session.commit()