问题标签 [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 投票
1 回答
16415 浏览

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

如果您使用 xml 映射, liquibase 是 hibernate 的hbm2ddl_auto属性的完美替代品。但我使用 JPA 注释(休眠注释)。那么可以使用liquibase吗?

0 投票
2 回答
13014 浏览

database - 如何在 Liquibase 迁移中的 sql 中插入 html 标签?

我需要更新里面有 html 标签的数据,所以在 liquibase 上写了这个

它显然在 liquibase 上不起作用(我遇到了 loooong 错误.. 并且毫无意义)。我试图删除<br/>并且它有效。

我的问题是,是否可以在 Liquibase 中插入/更新包含 xml 标签的内容?

我正在使用 liquibase 1.9.3 和 Grails 1.1.1

编辑:忘记在我的示例中设置代码示例标记。

0 投票
1 回答
2762 浏览

database - Db 迁移 - Hibernate/JPA - hbm2ddl - 差异工具

我用:

  • EJB3 / JPA(休眠)
  • MySQL 5

我必须建立一个系统来帮助数据库迁移。尝试使用 LiquiBase,但它似乎还不够成熟,无法与 Hibernate 一起使用。

我想做的是:

  • 我有 1.0 版的应用程序在生产中
  • 我已经开发和测试了 2.0 版的应用程序
  • 我想在生产中更新应用程序数据库而不丢失数据

实际上,我想使用新persistence.xml数据库和生产数据库来生成旧数据库和新数据库之间的“增量”。我希望能够检索当 hbm2ddl 处于“更新”模式时执行的 SQL 代码。

此 SQL 代码将被修改(drop+create=rename 等...)以避免丢失可能发生的数据hbm2ddl.auto=update

我想这是可能的,因为 Hibernate 在使用hbm2ddl.auto=update. 但我希望能够在 Ant 任务中使用hibernatetool.

我在互联网上找不到很多关于此的信息,所以我想知道是否有人已经在这里做过类似的事情并且可以帮助我。

我做了以下事情:

我真的不知道该怎么做,我能够获得创建 sql 文件,但我只想要增量。我必须把 update="true" ?我可以在应用程序服务器之外使用带有持久性单元的 jpaconfig(数据库设置是在 Glassfish 上的 JNDI 资源上设置的)。(试过了,就是找不到数据库)

我还尝试使用<jdbcconfiguration propertyfile="hibtest.properties"></jdbcconfiguration>或设置数据库的属性,persistence.xml而不是使用 JNDI 资源。

我收到以下错误:

我使用 MySQL,我的 JDBC 属性是:

我的 JDBC MySQL 驱动程序位于${core.lib.server}: mysql-connector-java-5.1.7-bin.jar. (我也尝试放入 classpath <fileset dir="/home/slorber/workspace/core/lib/server" includes="*.jar" />。)

我还将它添加到 Ant(Eclipse 插件)的运行配置类路径中。

所以我的问题是:

  • 我做错了什么来做我想做的事吗?
  • 这是您使用 Hibernate 框架进行数据库迁移的方式吗?(如果不在手工制作的 SQL 文件中写入所有 db 更改,您还会做什么?)
0 投票
3 回答
48276 浏览

database - 如何使用 liquibase,一个具体的例子

按照关于liquibase的快速入门,我创建了一个变更集(非常愚蠢:))

代码:

我创建了一个干净的架构,并启动了 migrate 命令。

Liquibase 创建了数据库,支持表 databasechangelog 和 ..lock。

现在我如何跟踪更改?我已经修改了变更集,添加了一个新的 createTable 元素,但是当我尝试命令“update”时,liquibase 告诉我这个

所以我不认为已经了解使用 liquibase 的方式。

有人可以指出我正确的方向吗?

谢谢

0 投票
3 回答
4735 浏览

sql - 来自 liquibase noob 的几个问题

我从今天开始为一个项目评估liquibase

有没有人用它来创建过程、函数,基本上所有的 plsql 东西?

如果没有,是否可以在 xml 文件中编写嵌入式 sql 代码?

提前致谢。

0 投票
1 回答
1443 浏览

sql - liquibase - 无法让样品工作

我试图在 liquibase 1.9.5 中运行一个非常简单的示例(见最后)。

当我跑

我收到此错误消息。

迁移失败:ORA-03115:不支持的网络数据类型或表示

我正在使用 oracle 10g XE 10.2.0.1。据我了解(和谷歌搜索),这是一个错误,涉及将查询传递给准备好的语句的执行方法,或者“某事”(猜测我的 oracle 驱动程序)已被弃用。

我的属性文件如下所示:

有什么想法吗?

提前致谢。

文件 test_sample.xml

0 投票
1 回答
3219 浏览

sql - Liquibase noob 再次罢工 - sqlFile 标签上的错误

我使用 sqlFile 包含一个 sql 脚本,该脚本使用 oracle 特定命令(NOCACHE、NO PARALLEL 等)创建表。我的 master.xml 文件包含所有 sql 脚本并执行它们。但是,当它检测到标签时,它会失败并打印此错误消息。

我的 master.xml 很简单

任何想法将不胜感激。提前致谢。

0 投票
5 回答
11415 浏览

sql - 在删除不存在的序列、创建现有用户时防止错误

我有一堆创建/删除序列、用户和其他对象的 sql 脚本。我正在通过 liquibase 运行这些脚本,但它们失败了,因为当我尝试删除不存在的序列或创建现有用户时,oracle 会抱怨。

有没有一种预言机方法来防止错误发生?

类似的东西

如果不存在则创建用户/序列

如果存在则删除用户/安全

据我所知,我有以下选择:

  • 写一个plsql脚本
  • 使用 liquibase 上下文。
  • 使用 liquibase 前提条件,但这意味着工作量太大。

任何想法/想法将不胜感激。

0 投票
4 回答
25137 浏览

database - 如何使用 Liquibase 删除 Grails 中的索引

我有一个由 GORM(Grails 域)生成的表。它具有生成随机字符的外键/索引,例如 FKAC7AAF67162A158F。我需要删除不再需要的那个字段。

问题,我有一些服务器需要更新。所以我需要使用 Liquibase 创建一个迁移。但是我不知道如果索引是随机名称(每个服务器我有不同的名称),如何手动删除该索引。

是否可以在不知道其名称的情况下删除某物的索引?

0 投票
4 回答
845 浏览

grails - 如何将 Liquibase 迁移集成到我的 grails 构建中?

我有一个 Liquibase 迁移,我手动运行它以将几个 CSV 文件中的种子数据加载到我的数据库中。我想在每次运行时运行此迁移grails run-app

我想我有两个问题:

  1. 如何将migrate 命令集成到我的grails run-app?
  2. 如何清除DATABASECHANGELOG 以允许我一遍又一遍地运行相同的迁移?

或者,有没有更好的方法将大量数据从 CSV 文件加载到数据库中?