问题标签 [alembic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1601 浏览

mysql - 使用 DATE_FORMAT 的 MySQL 视图的 Alembic 迁移脚本

我们正在尝试使用 Alembic(离线模式)生成 SQL 迁移脚本。迁移中的部分视图使用 MySQL 函数 DATE_FORMAT,如下例所示。创建迁移脚本时,百分比字符在生成的 SQL 中加倍。

我们一直在手动修改生成的脚本以将其设置回单个 % 字符,但希望摆脱这种做法,让我们的升级/降级生成可以在不手动修改的情况下通过管道传输到数据库的 SQL。

据我所知,使用 no_parameters = True 在 execution_options 中设置的在线模式运行 Alembic 迁移允许,“ ...百分号直接通过而不转义,从而提供与 DBAPI 执行和静态脚本的交叉兼容操作一代。

见: https ://alembic.readthedocs.org/en/latest/changelog.html#change-1dff9e522d76403d9af885164fd284e9 )

由于 execution_options 被设置为 Connection 的一个属性,并且在离线模式下运行时不存在任何连接,这对我们来说似乎不是一个选项。

任何帮助或建议将不胜感激!

========================

Alembic 迁移文件:

=======================

生成的 SQL:

0 投票
1 回答
1985 浏览

python - 如何为 alembic 创建的所有内容设置不同的所有者?

因此,我们有一个受限用户应该更新、插入和删除表,以及一个可以创建、更改和删除表的用户。

我们使用 alembic 来迁移数据库,所以当然第二个用户必须运行迁移,但是第一个用户没有使用表的权限。

当然,我可以运行一些 postgres 特定的代码来单独更改任何 alembic 创建的所有者,但这是不对的。我该怎么解决这个问题?或者这是一个postgres问题?我看不到如何在一个数据库的不存在的表上授予 user1 东西。

0 投票
5 回答
38336 浏览

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

如何在第一次迁移中插入一些种子数据?如果迁移不是最好的地方,那么最好的做法是什么?

0 投票
1 回答
4029 浏览

python - 通过 Flask SQLAlchemy 从 SQLite 读取 BLOB (LargeBinary) 返回 None

我正在尝试使用 Flask-SQLAlchemy 从 SQLite 读取 BLOB (LargeBinary) 对象,但出现此错误:TypeError: must be string or read-only buffer, not None.

我的代码如下:

我的 SQLAlchemy 模型是:

这是我的架构:

0 投票
0 回答
553 浏览

sqlalchemy - 无法使用 alembic 自动生成迁移

我的存储库可以在这里找到http://goo.gl/Q4WJXy(alembic 文件夹中的版本),我尝试使用自动生成迁移,

与创建表无关,即空降级和升级功能。我正确配置了本地数据库。我该如何解决这个问题?

我的日志看起来像这样

提前致谢

0 投票
3 回答
3294 浏览

python - 通过alembic脚本进行并发数据库表索引

是否可以通过 alembic 脚本为 DB 表创建并发索引?

我正在使用 postgres DB,并且能够在 postgres 提示符下通过 sql 命令创建并发表索引。(在 (); 上同时创建索引)

但是找不到通过 Db 迁移(alembic)脚本创建相同的方法。如果我们创建普通索引(非并发),它将锁定数据库表,因此无法并行执行任何查询。所以只想知道如何通过alembic(DB迁移)脚本创建并发索引

0 投票
1 回答
1441 浏览

python - Alembic bulk_insert 到带有模式的表

我正在查看bulk_insert的示例。

我想bulk insert调用一个特定的模式,kpi但我不知道该怎么做。有人可以帮我吗?

0 投票
1 回答
2724 浏览

python - 如何在 Alembic/SQLAchemy 中使用 USING 子句?

我想使用 Alembic 将数据库的列类型从字符串更改为整数。如果我使用纯 SQL,它可以达到目标:

但是当我像这样使用 Alembic 时:

我收到一个错误:

SQLAlchemy 生成的 SQL 语句是:

有人可以通过 告诉我如何在 alembic 或 SQLAlchemy 中使用 SQLop.execute(SQL)吗?

0 投票
1 回答
7991 浏览

python - 使用 Alembic 在 SqlAlchemy 中定义索引

我完全同意这是一个非常基本的问题,可能在某个地方有它的答案,但我不知何故找不到它。(我对 SqlAlchemy 也不是很精通)

我有这个代码 -

我怎样才能

  1. 在此定义一个单列索引(比如在电子邮件上)?(Probaby index=True 会这样做。如果是这样,那么它主要是我迷路的下一个点)
  2. 如何在此定义多列索引(例如,在电子邮件和 ip_addr 上。我正在使用 alembic 进行迁移,并且当我定义类似 - Index('user_index',Users.c.email) [注释行] 在类中的列定义之后,它确实给了我一个错误“NameError: name 'Users' is not defined”)

在 alembic 的 env.py 中,除了所有正常和默认行之外,我还有这两行

我的应用名称是教程。如果以某种方式需要它,我将使用 Pyramid 作为框架。和 postgres 作为数据库。

我再说一遍,这可能是一个非常基本的问题,但我现在无法弄清楚,所以任何帮助都会很棒。

谢谢。

0 投票
1 回答
1648 浏览

python - Alembic 删除外键索引

我有一个专栏address_id = db.Column(db.Integer, db.ForeignKey(Address.id, ondelete='CASCADE'), index=True)。使用 Alembic 自动生成迁移总是会添加一个drop_index操作。

为什么每次生成迁移时都会发生这种情况?