问题标签 [liquibase]

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 投票
2 回答
6509 浏览

data-migration - 是否建议使用 Liquibase 将生产数据从旧数据库模式迁移到新模式?

我是数据迁移领域的新手,正在研究如何将使用 OurApp 1.0 的客户数据迁移到具有与 OurApp 2.0 兼容的架构的新数据库中。我见过不少人推荐 Liquibase 用于数据库更改管理和数据库重构任务,在我的新手耳中,这听起来可能接近我们的需要。

然而,在阅读了 www.liquibase.org 上的资料后,我感觉 Liquibase 更多的是保持模式更新,而不是转换大量现有数据以便可以将其保留在新模式中。

假设我想将 Employee 表中名为 name 的列拆分为 firstname 和 lastname 列。Liquibase 将能够通过删除 name 列并添加 firstname 和 lastname 列来更改表。但是,我觉得 Liquibase 并不是真正为我构建的,它可以插入转换代码,将数据库中现有记录的名称字段解析为名字和姓氏,并将它们存储在各自的列中。

例如,假设我的桌子看起来像这样

在我运行 Liquibase 之后,name 列将被 firstname 和 lastname 列替换,因此我的数据库架构是正确的。但我猜 Liquibase 不是一个框架,它允许我插入一些代码,将“Horace Slughorn”解析为“Horace”和“Slughorn”,并将这些值存储在该记录的名字和姓氏列中。

因此,Liquibase 使您的架构保持最新,但并非旨在帮助您转换现有数据以使其与新架构匹配。是对的吗?

0 投票
1 回答
345 浏览

grails - Grails Liquibase 插件和 Taggable 插件

也许这是在黑暗中拍摄,但我正在尝试使用 Grails Liquibase 插件,看起来好像 Taggable 插件存在兼容性问题。Taggable 插件通过Taggable在您希望可标记的域类上实现来工作。

当我尝试运行 Liquibase 命令grails generate-changelog时,在实现的类上出现以下异常Taggable

如果我删除implements Taggable此错误就会消失。

我认为这与类加载器有关;也许Taggable没有加载?

非常感谢

0 投票
1 回答
1702 浏览

sql - 在 SQL Server 上使用 Liquibase 时出错

我正在试验 Liquibase,试图让它将一个数据库复制到另一个数据库。不幸的是,我不断收到此错误:

不允许从数据类型 varchar 到 varbinary 的隐式转换。使用 CONVERT 函数运行此查询。

它生成的 SQL 在这里:

0 投票
1 回答
12377 浏览

liquibase - Liquibase - 回滚一组变更集

我们进行由一组更改集组成的数据库发布,我们的数据库更改日志按以下方式组织

我想知道如何回滚一组变更集。我希望我可以使用带有版本号(Release001、Release002 或 Release003)的 tagDatabase,然后使用标签回滚

如果我想将所有更改回滚到 Release001,我希望能够做这样的事情

你能告诉我如何让它与 Liquibase 一起工作吗?

谢谢

0 投票
2 回答
2393 浏览

sqlite - Liquibase 和 SQLite

如何实际创建 SQLite DB 文件?此命令不起作用:

出现错误:

0 投票
2 回答
3081 浏览

mysql - 是否有 JDBC w/liquibase 和 MySQL 会话变量和客户端 SQL 指令的解决方法

慢慢地为我雇主的三个主要模式之一构建一个起始 changeSet xml 文件。唯一的阻碍是合并了由 liquibase 管理的相当大的 MySQL 存储过程库。

一个 sproc 处理起来有点麻烦:前几个语句就像

我删除了 use 语句,因为它会适得其反,但真正的问题是set @@session.sql_mode导致异常的语句,例如

然后delimiter声明是另一个绊脚石。

做尽职调查时,我发现这个被拒绝的 MySQL 错误报告和这个 MySQL 论坛线程在这里更深入地解决了这个问题

无论如何我可以使用 Liquibase 目前存在的 sproc 脚本,还是我必须重新编写数百个存储过程?

我尝试过 createProcedure、sqlFile 和 sql liquibase 标签,但运气不佳,因为我认为核心问题是 set、delimiter 和类似的 SQL 命令在传递到服务器之前要由客户端解释器解释和执行.

0 投票
5 回答
4162 浏览

hsqldb - 使用序列将 Liquibase 数据加载到 HSQLDB

我正在尝试使用 Liquibase 1.9.5 将一些数据加载到 HSQLDB 数据库中。我有一个loadData命令如下:

在我的 CSV 数据文件中,我试图将 ID 值设置为现有序列中的下一个值:

但是,这不起作用,因为它会生成以下 SQL:

几乎是正确的,除了 Liquibase 添加的单引号next value for SEQ_ITEM_TYPE_ID导致 HSQLDB 给出以下错误:

如果我删除 sinqle 引号并手动运行该 SQL,它会按预期工作。

所以,我的问题是,如何使用 LiquibaseloadData命令从 CSV 文件中提取数据,同时从序列中填充其中一列?

0 投票
1 回答
3652 浏览

jpa-2.0 - liquibase 和 hibernate 注释

这个问题基于之前发布的两个线程。

使用 JPA(带注释的实体)和 liquibase 进行休眠

Liquibase diffChangeLog 针对 Hibernate 映射定义

我的困惑是,如果我使用休眠注释,我还需要在变更日志中编写变更集吗?

另外,现在很多人都在使用休眠注释,我希望有人能给我一个真正让它工作所需的例子。互联网上没有很好的例子。

0 投票
1 回答
2880 浏览

mysql - Liquibase 初学者:创建一个双向的多对多关联

我正在使用带有 JPA 注释的 Hibernate。我有一个单向的多对多关联,我打算进行双向关联。

数据库已经包含一些数据。我正在考虑使用 Liquibase 来更新表格。有人可以给我一些关于我必须写的变更日志类型的见解吗?

0 投票
1 回答
3695 浏览

database - liquibase 使用 maven 和两个数据库

我有以下结构从 Maven 运行一个数据库:

现在我想在同一个服务器上运行另一个名为charm2 的数据库。我试过这个:

它不起作用。有谁知道如何解决这个问题?