【发布时间】:2017-03-31 07:29:05
【问题描述】:
在使用声明式基础时,如何使用 SQLAlchemy 生成 SQL/迁移代码/任何内容?
from sqlalchemy import *
from sqlalchemy.orm import relationship
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
engine = create_engine('mysql://root:password@localhost/mydb_dev', echo=True)
metadata = MetaData(bind=engine)
class User(Base):
__table__ = Table("users", metadata, autoload=True)
id = Column(Integer, primary_key=True)
display_name = Column(String)
email = Column(String)
password = Column(String)
def __repr__(self):
return "<User(id='{}', display_name='{}', email='{}')>".format(self.id, self.display_name, self.email)
class Site(Base):
__table__ = Table("sites", metadata, autoload=True)
id = Column(Integer, primary_key=True)
name = Column(String)
urls = relationship("URL")
def __repr__(self):
return "<Site(id='{}', name='{}')>".format(self.id, self.name)
到目前为止,我有这个,我想看看 SQLAlchemy 会生成什么作为模式。
或者,SQLAlchemy 是否完全做到这一点?这是我单独创建和管理数据库及其架构的情况,我只是更新我的实体以反映它?
请理解我已经习惯了 Doctrine2,而且我对 SQLAlchemy 很陌生
谢谢!
【问题讨论】:
标签: python sqlalchemy