liquibase - 如果我们使用 liquibase 在表的中间添加列,如何生成 SQL
问题描述
假设在 v1 我有一张桌子
create table test1
{
col1 varchar2(10),
col2 varchar2(10),
col3 varchar2(10),
}
在版本 v2 中,要求在中间列中添加表格,col1_2
例如
create table test1
{
col1 varchar2(10),
col1_2 varchar2(30),
col2 varchar2(10),
col3 varchar2(10)
}
那么 liquibase 有能力添加重建表的生成表吗?
解决方案
不,Liquibase 不能以通用方式执行此操作。您可以删除并重新创建表,但这可能不是您想要做的。如果你想做这样的事情,你需要做一个相当复杂的 SQL 更改。一种方法是按照您想要的顺序创建一个包含列的新表,然后将数据从旧表复制到新表,然后删除旧表,最后将新表重命名为正确的名称。
一个更简单的方法可能是使用视图。
一般来说,表中列的顺序不应该被认为是重要的。
推荐阅读
- android-studio - 我无法在 Firebase 中实时看到其他在线成员
- javascript - 在 Newman 脚本中访问环境变量
- java - 如何动态创建 N 个 Rabbitmq 队列和消费者
- sql - 在 SQLite 中输出列的名称
- python - 为什么在这种情况下会发生索引错误以及如何修复它
- jquery - 添加淡入/淡出 jQuery hover addclass/remove
- node.js - 如何使用 geckodriver 配置 Nightwatch.js 以在浏览器启动时安装元掩码
- node.js - 试图等到多个图像上传到 cloudinary
- java - 使用 Java 使用 Spark Column 从 Java Map 中读取值
- typescript - 推断回调函数参数的返回类型