from sqlalchemy import Column, String, Integer, create_engine, ForeignKey, Boolean, DateTime from sqlalchemy.orm import relationship from sqlalchemy.ext.declarative import declarative_base from datetime import datetime Base = declarative_base() engine = create_engine("sqlite:///./admin.db") class FilialInfo(Base): __tablename__ = "filial_info" id = Column(Integer, primary_key=True) region_id = Column(Integer, nullabe=True) name = Column(String(125), nullable=False) class FilialIP(Base): __tablename__ = "filial_info_ip" id = Column(Integer, primary_key=True) filial_id = Column(Integer, ForeignKey("filial_info.id"), nullabe=False) ip_address = Column(String(16), nullable=False, default="0.0.0.0") description = Column(String(255), nullable=True) is_actual = Column(Boolean, nullable=False, default=True) class FilialInfoSql(Base): __tablename__ = "filial_info_sql" id = Column(Integer, primary_key=True) filial_id = Column(Integer, ForeignKey("filial_info.id"), nullabe=False) sql_login = Column(String(255), nullable=False) sql_pass = Column(String(255), nullable=False) description = Column(String(255), nullable=True) class FilialInfoServer(Base): __tablename__ = "filial_info_server" id = Column(Integer, primary_key=True) filial_id = Column(Integer, ForeignKey("filial_info.id"), nullabe=False) login = Column(String(255), nullable=False) password = Column(String(255), nullable=False) local_ip = Column(String(125), nullable=False) description = Column(String(255), nullable=True) class FilialInfoLive(Base): __tablename__ = "filial_info_live" id = Column(Integer, primary_key=True) filial_id = Column(Integer, ForeignKey("filial_info.id"), nullabe=False) last_time = Column(DateTime, default=datetime.now())