【发布时间】:2020-06-17 16:52:47
【问题描述】:
我正在使用 alembic 进行数据库迁移。并使用 sqlalchemy 连接到使用 python 的数据库。
在 alembic 中,我们将表模式定义为第一个版本,这是创建模式的实际版本。
例如,我在第一个版本的 alembic 中给出了这样的架构。
op.create_table(
'my_table',
sa.Column('id', sa.String(10), primary_key=True),
sa.Column('mail', sa.String(20), unique=True)
)
现在,让我们进入 sqlalchemy 部分。在我的 python 项目中,我有一个数据库连接文件,我在其中创建了这样的用户表。
class CompanyInfo(Base):
__tablename__ = 'my_table'
id = Column(String(10), primary_key=False)
name = Column(String(20), unique=False)
在这里,Alembic 是连接到数据库并创建表的第一件事。那么在我的python类中指定primary_key、唯一约束还是nullable=T/F值有什么关系呢?
我的问题只是关于数据类型和长度的约束。
【问题讨论】:
标签: python mysql sqlalchemy alembic sqlalchemy-migrate