我正在努力创建属于 SQL Server 数据库中的架构的表,并确保主键/外键正常工作。
我正在寻找一些代码示例来说明这是如何完成的
最佳答案
为此所需的成分是 __table_args__
以及在 ForeignKey
上使用模式前缀
DBSession = sessionmaker(bind=engine)
session = DBSession()
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import relationship
Base = declarative_base()
class Table1(Base):
__tablename__ = 'table1'
__table_args__ = {"schema": 'my_schema'}
id = Column(Integer,primary_key = True)
col1 = Column(String(150))
col2 = Column(String(100))
reviews = relationship("Table2", cascade = "delete")
class Table2(Base):
__tablename__ = 'table2'
__table_args__ = {"schema": 'my_schema'}
id = Column(Integer,primary_key = True)
key = Column(Integer)
col2 = Column(String(100))
key = Column(Integer, ForeignKey("my_schema.table1.id"), index=True)
premise = relationship("Table1")
Base.metadata.create_all(bind=engine)
关于sql-server - SQLAlchemy 声明式 - SQL Server 中的模式和外键/主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30538132/