Max*_*kov 6 postgresql enums database-migration
我想通过添加新的枚举值来扩展我的枚举类型。这非常简单。我还将所有 SQL 保留在迁移中,并将每个向上迁移与对称向下迁移配对,将架构恢复到之前的状态。
\n\n但是,不支持反向操作 \xe2\x80\x94 从枚举 \xe2\x80\x94 中删除变体。
\n\n这方面的常用方法是什么?我可以看到两个选项:
\n\nif not exists,并在“向下”迁移中不执行任何操作。我不喜欢这个选项,因为它违反了这样的假设:应用和恢复迁移会使架构保持与之前相同的状态。您无法迁移ENUM. 您的意见和评估100%正确。
\n\n\n我不喜欢这个选项,因为它违反了这样的假设:应用和恢复迁移会使架构保持与之前相同的状态。
\n
如果这是一个挂断,那么这个选项就不可能了。因为你是对的。
\n\n\n\n\n对于如此简单的操作来说似乎有些过分了。
\n
这是因为从 an 中删除一个值ENUM并不是一个简单的操作。那么为什么将ENUM具有更多值的对象迁移到具有较少值的对象是一项简单的操作呢?
听马的声音,
\n\n\n\n另一个很好的例子说明为什么枚举通常不是一个好主意。如果您使用带有外键的标准查找表,这将非常容易。删除该值就像运行 DELETE 语句\xe2\x80\x93 a_horse_with_no_name一样简单
\n
| 归档时间: |
|
| 查看次数: |
1575 次 |
| 最近记录: |