问题标签 [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.
python - Alembic:如何在模型中迁移自定义类型?
我的User
模型是
whereGUID
是sqlalchemy 文档中描述的自定义类型(完全相同)
现在当我跑
我得到我upgrade()
的
但是在应用 upgrade -> 期间alembic upgrade head
,我看到了
我怎样才能让它GUID
在这里与 /custom 类型一起工作?
python - python:如何使用内存数据库测试我的数据库模型?
我正在开发一个项目Flask
并将SQLAlchemy
其用作 ORM
我有一个User
模型
- 我使用Alembic创建了一个迁移脚本。
- 我选择的数据库
PostgreSQL
只是为了测试我更喜欢使用的模型SQLite
来加快测试速度 - 当有一些类型 in
PostgreSQL
而不是 in时,问题就出现了SQLite
,在这种情况下UUID
- 当我运行迁移时
sqlite://
,它给了我错误
AttributeError:“模块”对象没有属性“GUID”
问题
- 如何保存我的架构GUID
并使用 SQLite 运行内存测试?似乎SQLite
没有类似的东西
- 当他们的数据库运行时,人们有哪些方法可以更快地运行测试(在内存中)PostgreSQL
python - sqlalchemy:alembic 批量插入失败:“str”对象没有属性“_autoincrement_column”
我的模型看起来像
其中GUID是自定义 sqlalchemy 类型我使用alembic --autogenerate
选项创建表
和 PostgreSQL 表为
我尝试运行修订版并将数据库更新为
当我运行时alembic upgrade head
,我看到错误为
我在这里做错了什么?
alembic - alembic/env.py target_metadata = metadata "没有模块名称 al_test.models"
当我使用 alembic 来控制我的项目数据库的版本时,env.py 中的部分代码如下:
当我运行 'alembic revision --autogenerate -m "Added user table"' 时,我收到一个错误:文件 "alembic/env.py",第 18 行,从 al_test.models 导入元数据 ImportError:没有名为 al_test.models 的模块
那么如何解决这个问题呢?谢谢!
sqlalchemy - Alembic:如何向现有列添加唯一约束
我有一个表 'test' 有一个没有约束的列 'Name'。我需要给ALTER
这个专栏一个UNIQUE
约束。我该怎么做?
我应该使用op.alter_column('???')
orcreate_unique_constraint('???')
吗?不是 create_unique_constraint 用于新列而不是现有列吗?
postgresql - 如何让 alembic 在 after_create 上发出自定义 DDL?
我有几个要在创建表后运行的自定义 DDL 语句:
我已经像这样附加它们:
当我这样做时create_all
,我得到了我期望的 SQL:
但是当我使用 Alembic 升级时,语句不会出现:
有没有办法让 alembic 触发“after_create”事件?
python - Alembic 检测到更改,但使用 --autogenerate 生成空迁移
我正在尝试使用--autogenerate
标志让 alembic 工作自动生成迁移。
当我跑步时,alembic -n mydbname --autogenerate -m "my message"
我得到类似的东西:
但是当我查看生成的迁移文件时,upgrade
两者downgrade
都简单地说pass
.
这是怎么回事?!
python - Alembic 可以自动生成列更改吗?
添加/删除列时我可以使用
alembic --autogenerate
。
但是,当我想将例如“url”列从 200 个字符修改为 2000 个字符时,它不会检测到更改。
如何制作 Alembic(使用 SQLAlchemy)、检测更改并自动生成脚本到我的模型的各种列的“大小”并为 PostgreSQL 创建“alter_column”命令?
编辑:
为什么 alembic 不自动添加:
sqlalchemy - 如何在 Alembic 中创建 postgresql 的序列
我alembic
用来维护我的桌子。同时,我使用声明方式更新我的模型。
这是 alembic 的一张桌子:
模型如下:
您可以看到,我Sequence
在 alembic 迁移和声明性模型中都使用了 。
但我注意到,当使用 PostgreSQL (v9.1) 时,alembic 不会创建任何序列,因此模型无法创建实例,因为它们将使用该nextval(<sequence name>)
子句。
那么,如何创建我的 alembic 迁移,以便在 postgresql 中真正生成序列?