Python 基于数据库引擎的Alembic条件
alembic能否根据数据库类型运行稍有不同的迁移代码?例如,运行Python 基于数据库引擎的Alembic条件,python,migration,alembic,Python,Migration,Alembic,alembic能否根据数据库类型运行稍有不同的迁移代码?例如,运行altertableobjectauto_INCREMENT=6000仅在MySQL上,但在SQLite上跳过此选项 一些背景:我们正在使用alembic来运行迁移。在许多开发人员设置中,我们使用sqlite,在生产环境中,我们使用mysql。在生产环境中,我们希望以特定的值启动一些主键,但在使用sqlite的开发设置中,这是不可能的,也不是必需的,因此我们可以跳过此步骤。可以从绑定中获取引擎名称。我在迁移中添加了以下内容: de
altertableobjectauto_INCREMENT=6000代码>仅在MySQL上,但在SQLite上跳过此选项
一些背景:我们正在使用alembic来运行迁移。在许多开发人员设置中,我们使用sqlite,在生产环境中,我们使用mysql。在生产环境中,我们希望以特定的值启动一些主键,但在使用sqlite的开发设置中,这是不可能的,也不是必需的,因此我们可以跳过此步骤。可以从绑定中获取引擎名称。我在迁移中添加了以下内容:
def upgrade():
# create table call
bind = op.get_bind()
if bind.engine.name == 'mysql':
op.execute("ALTER TABLE object AUTO_INCREMENT = 5000")
else:
print("Skipping setting initial ID value")