""" Cluster cleanup schema. To maintain stability and extensibility of db operations, introduce python sqlalchemy orm. Cluster and User entity is necessary for cleanup cluster selection. """ from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import BigInteger, Column, DATETIME, Enum, Integer, String Base = declarative_base() class Cluster(Base): __tablename__ = 'clusters' id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(255), nullable=False) created_by_id = Column(BigInteger()) created_at = Column(DATETIME) updated_at = Column(DATETIME) deleted_time = Column(DATETIME) tenant_id = Column(BigInteger()) project_id = Column(BigInteger()) status = Column(String(255)) # Treat enum as string, for forward compatibility (e.g., new states) __table_args__ = { "mysql_charset": "utf8" } class User(Base): __tablename__ = 'users' id = Column(BigInteger, primary_key=True, autoincrement=True) created_at = Column(DATETIME) updated_at = Column(DATETIME) deleted_at = Column(DATETIME) email = Column(String(255), nullable=False) __table_args__ = { "mysql_charset": "utf8" }