alembic相关内容

如何通过代码使用 Python Alembic 运行迁移?

我正在尝试使用 sqlAlchemy 和 Alembic 迁移 SQL 数据库.我想直接在 Python 代码中制作简单的迁移脚本,而不是使用 Alembic CLI,如文档中所述. 我只在这个主题上找到了这个 SO 问题:使用来自应用程序代码内部的 Alembic API 使用这个问题 + Flask-Alembic 源代码,我尝试了这些简单的命令.引擎链接到我的 db &元数据包含 ..
发布时间:2021-06-13 19:01:40 Python

带有 Alembic 的存储过程:MySQL 语法错误

我正在使用 Alembic 将存储过程加载到 MySQL 数据库中.遵循 cookbook,我能够创建所需的对象来创建和删除程序,流程.现在我想升级版本以实际加载过程,我在 DELIMITER $$ 附近获得了 SQL 语法,这是过程定义所需的.我还尝试删除 DELIMITER 并替换 AS 以启动程序,但这也不起作用.我什至尝试了食谱中的简单示例函数,但这也在 $ 附近给了我相同的语法错误. ..
发布时间:2021-06-06 19:06:13 数据库

为什么我在进行Alembic迁移时遇到问题

项目结构(仅包含数据库迁移的目录): -db_manage:阿勒比比尼--alembic:信封script.py.mako自述文件--versions:#migration文件 当我尝试运行命令: python db_manage/alembic/env.py 时,我的响应如下: Traceback(最近一次通话最近):中的文件"db_manage/alembic/en ..
发布时间:2021-05-08 19:29:10 Python

运行Flask-Migrate时保留数据库中的现有表

我有一个包含现有表的数据库.我的代码具有 User 模型.我使用Flask-Migrate生成了一个修订版本并运行它,并且它在创建用户表时删除了我现有的表.如何在不删除现有表的情况下运行迁移? 从烧瓶导入烧瓶的 从flask_sqlalchemy导入SQLAlchemy从flask_script导入管理器从flask_migrate导入MigrateCommand,MigrateCommand ..
发布时间:2021-05-08 19:09:42 Python

如何使用Alembic/SQLAlchemy将表对象实例化为bulk_insert行

我正在尝试使用 bulk_insert 将数据插入到Postgres数据库中的现有表( services )中.如何实例化此表对象,以便可以对其进行bulk_insert? 我看到了这样的答案: Alembic bulk_insert到带有模式的表中,但我想避免重新定义模式再次在迁移. 来自Alembic导入操作将sqlalchemy导入为sa从sqlalchemy.dialects导入p ..
发布时间:2021-04-28 20:30:11 Python

.ini文件加载环境变量

我正在使用 Alembic 在Flask项目中进行迁移.有一个alembic.ini文件,必须在其中指定数据库配置: sqlalchemy.url = driver://user:password@host/dbname 是否可以从环境变量中指定参数?我试图以这种方式$(env_var)加载它们,但是没有成功.谢谢! 解决方案 我已通过将env.py中的sqlalchemy.u ..
发布时间:2020-11-28 00:43:51 Python

Alembic版本ID代表什么?

我刚刚开始研究Alembic,来自Django,我们有 South 来迁移数据库使用友好的旧固定格式的架构(包含在很快中)像 0037_fix_my_schema.py 这样的宽度数字来讨论应用迁移的顺序,我自然对Alembic的修订版ID感兴趣。是否有DAG支持Alembic,或者有人可以在这方面对其内部进行一些概述? 解决方案 我。 来源说: def rev_id(): va ..

如何以编程方式设置Alembic要求与命令API一起使用的“ target_metadata”?

我正在使用 Alembic 管理数据库迁移,并希望使用由 alembic init 生成的默认文件,无需对 env.py 进行任何修改(例如,设置 target_metadata )或 alembic。 ini (例如,设置 sqlalchemy.url )来管理我的数据库从脚本的迁移。 例如,喜欢使用基于命令的脚本,如下所示: import os from alembic. ..
发布时间:2020-10-16 04:51:37 Python

在事务中运行Alembic升级迁移

alembic升级头是否在事务内运行,以便所有数据库更改成功或失败?如果不是,为什么要这样设计呢? 解决方案 我的理解是alembic运行在支持它的数据库的事务中,例如Postgres。如果您使用的数据库不支持此功能(咳嗽 MySQL 咳嗽),则不能使用此功能。 ..
发布时间:2020-10-16 04:46:54 其他开发

如何使用Alembic --autogenerate忽略某些架构

我有一个图书馆,它是一个更大项目的一部分。该库在与较大项目共享的(PostgreSQL)数据库中使用其自己的模式。 我要使用 alembic版本--autogenerate 只能为库的架构生成迁移,而忽略对主/默认架构中表的更改。 FWIW,我尝试使用 include_schemas = False 参数设置上下文。 解决方案 似乎可以使用 include_object 与 i ..
发布时间:2020-10-16 04:46:47 Python

在另一列之后添加列

如何使用Alembic或SQLAlchemy在数据库的另一列之后添加一列?相当于此SQL子句: ALTER TABLE foo CHANGE COLUMN bar bar COLUMN_DEFINITION_HERE AFTER OTHER_COLUMN; -- or ALTER TABLE foo ADD COLUMN baz AFTER bar; 我还在此邮件列表主题,但没有帮助. ..
发布时间:2020-08-14 01:57:05 数据库

将Alembic与SQLAlchemy集成

我正在寻找一种将Alembic与SQLAlchemy集成的方法.我需要的是一种方法,以便Alembic自动检测我在models.py中所做的任何更改,并在运行alembic revision -m ""和alembic upgrade head时在MySQL数据库中对其进行更新. 这是我现在的位置. 这是我的应用程序目录结构. /myapplicati ..
发布时间:2020-08-11 04:04:46 数据库

MySQL DB迁移:更改字符串长度

我正在使用SQLAlchemy + Alembic来管理我的数据库.我有一个长度为10个字符的字符串字段,后来发现它必须为20个字符.因此,我更新了模型定义. class Foo(db.Model): __tablename__ = 'foos' id = db.Column(db.Integer, primary_key=True) foo_id = db.Colu ..
发布时间:2020-08-11 02:14:36 数据库