草庐IT

python - 撤消上一次 Alembic 迁移

我用alembicrevision--autogenerate创建了一个迁移,用alembicupgradehead将它应用到我的开发数据库中,然后意识到这不是我想要的.如何恢复迁移,以便调整并重试? 最佳答案 假设您只想返回一个修订版,请使用alembicdowngrade与relativemigrationidentifier-1:alembicdowngrade-1这将运行您最新版本的downgrade()方法并更新alembic_version表以指示您现在所处的版本。如果您需要返回多个迁移,请运行alembichistor

python - Alembic 可以自动生成列更改吗?

我可以使用alembic--autogenerate用于添加/删除列时。但是,例如,当我想将“url”列从200个字符修改为2000个字符时,它不会检测到更改。我如何制作Alembic(使用SQLAlchemy)、检测更改并自动生成脚本到我的模型的各种列的“大小”并为PostgreSQL创建“alter_column”命令??编辑:为什么alembic没有自动添加:op.alter_column('mytable','url',type_=sa.String(2000),existing_type=sa.String(length=200),nullable=True)

python - Alembic 可以自动生成列更改吗?

我可以使用alembic--autogenerate用于添加/删除列时。但是,例如,当我想将“url”列从200个字符修改为2000个字符时,它不会检测到更改。我如何制作Alembic(使用SQLAlchemy)、检测更改并自动生成脚本到我的模型的各种列的“大小”并为PostgreSQL创建“alter_column”命令??编辑:为什么alembic没有自动添加:op.alter_column('mytable','url',type_=sa.String(2000),existing_type=sa.String(length=200),nullable=True)

python - sqlalchemy.exc.ArgumentError : Can't load plugin: sqlalchemy. 方言:驱动程序

我正在尝试运行alembic迁移以及何时运行alembicrevision--autogenerate-m"Addedinitialtables"它失败了sqlalchemy.exc.ArgumentError:Can'tloadplugin:sqlalchemy.dialects:driver数据库地址是postgresql+psycopg2://dev:passwd@localhost/db我什至在我的virtualenv中安装了psycopg2$yolk-lFlask-Login-0.1.3-activeFlask-SQLAlchemy-0.16-activeFlask-0.9-

python - sqlalchemy.exc.ArgumentError : Can't load plugin: sqlalchemy. 方言:驱动程序

我正在尝试运行alembic迁移以及何时运行alembicrevision--autogenerate-m"Addedinitialtables"它失败了sqlalchemy.exc.ArgumentError:Can'tloadplugin:sqlalchemy.dialects:driver数据库地址是postgresql+psycopg2://dev:passwd@localhost/db我什至在我的virtualenv中安装了psycopg2$yolk-lFlask-Login-0.1.3-activeFlask-SQLAlchemy-0.16-activeFlask-0.9-

python - alembic 修订 - 多头(由于分支)错误

我有一个应用程序,我想今天为它创建一个新的迁移。当我运行时$alembicrevision-m"__name__"我收到一条消息Onlyasingleheadissupported.Thescriptdirectoryhasmultipleheads(duebranching),whichmustberesolvedbymanuallyeditingtherevisionfilestoformalinearsequence.Run`alembicbranches`toseethedivergence(s).运行alembicbranches什么都不做我是Alembic的新手。有2个开发

python - alembic 修订 - 多头(由于分支)错误

我有一个应用程序,我想今天为它创建一个新的迁移。当我运行时$alembicrevision-m"__name__"我收到一条消息Onlyasingleheadissupported.Thescriptdirectoryhasmultipleheads(duebranching),whichmustberesolvedbymanuallyeditingtherevisionfilestoformalinearsequence.Run`alembicbranches`toseethedivergence(s).运行alembicbranches什么都不做我是Alembic的新手。有2个开发

python - 从应用程序代码内部使用 Alembic API

我使用SQLite作为我的基于PySide的桌面应用程序的应用程序文件格式(请参阅here了解为什么要这样做)。也就是说,当用户使用我的应用程序时,他们的数据会保存在他们机器上的单个数据库文件中。我正在使用SQLAlchemyORM与数据库进行通信。当我发布应用程序的新版本时,我可能会修改数据库架构。我不希望用户每次更改架构时都必须丢弃他们的数据,因此我需要将他们的数据库迁移到最新格式。此外,我创建了很多临时数据库来保存数据的子集以供某些外部进程使用。我想用alembic创建这些数据库,以便将它们标记为正确的版本。我有几个问题:有没有办法从我的Python代码中调用alembic?我认

python - 从应用程序代码内部使用 Alembic API

我使用SQLite作为我的基于PySide的桌面应用程序的应用程序文件格式(请参阅here了解为什么要这样做)。也就是说,当用户使用我的应用程序时,他们的数据会保存在他们机器上的单个数据库文件中。我正在使用SQLAlchemyORM与数据库进行通信。当我发布应用程序的新版本时,我可能会修改数据库架构。我不希望用户每次更改架构时都必须丢弃他们的数据,因此我需要将他们的数据库迁移到最新格式。此外,我创建了很多临时数据库来保存数据的子集以供某些外部进程使用。我想用alembic创建这些数据库,以便将它们标记为正确的版本。我有几个问题:有没有办法从我的Python代码中调用alembic?我认

python - 在 flask 迁移或 alembic 迁移中创建种子数据

如何在我的第一次迁移中插入一些种子数据?如果迁移不是最好的地方,那么最佳做法是什么?"""emptymessageRevisionID:384cfaaaa0beRevises:NoneCreateDate:2013-10-1116:36:34.696069"""#revisionidentifiers,usedbyAlembic.revision='384cfaaaa0be'down_revision=Nonefromalembicimportopimportsqlalchemyassadefupgrade():###commandsautogeneratedbyAlembic-ple