当前位置: 首页 > 知识库问答 >
问题:

liquibase include file和dbDoc或更新失败

平羽
2023-03-14

我的迁移目录结构如下:

db1:

  • 最新/(触发器、函数、过程)
  • 表/
  • v000/master.xml
  • update.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd">

    <include   file="v000/master.xml" relativeToChangelogFile="true"/>

</databaseChangeLog>

db2:(尝试包含db1/update.xml)模式,因为我需要扩展/添加到db1模式)

  • 更新。xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd">


    <include   file="../db1/update.xml" />

</databaseChangeLog>

db1

但是

db2

显示db1/v000/master.xml中包含的表的验证错误

<include file="tables/12_createTable_audiences.xml" />

读取迁移文件时出错:表/12_createTable_audiences.xml

如果我通过以下更改来修复错误(对于每个表:在db1/v000/mater.xml中)

 <include file="../tables/12_createTable_audiences.xml" relativeToChangelogFile="true"/>

db2

但是

db2

在表12_createTable_audiences.xml失败

有人知道如何解决这些(路径问题)吗?为什么update和dbDoc命令对相同路径的行为不同?

谢谢你的支持。

共有1个答案

胡俊美
2023-03-14

不要使用relativeToChangelogFile属性,而是尝试从根目录中指定include文件中的路径。类似于

<iuclude file = "./Update/db1/update.xml" />
 类似资料:
  • jumiz-dbdoc,数据库在线文档。 工作中发现编写数据库文档很是繁琐,一方面要开发,一方面还要维护文档,还要分享文档,为了解决这繁琐工作,实现可以在线看数据库文档,所以把它集成到项目里,这样每个开发者都能看到最新的数据库文档,并且不需要单独维护文档,只要在实体类中稍加配置,即可完成。  

  • 问题内容: 有人可以帮我在Docker容器中轻松工作吗?每当我尝试在Docker容器中运行任何apt-get命令时,该命令都会失败。我正在运行Docker 1.1.1版,在Ubuntu 12.04上构建bd609d2。 当我做 我说错了 无法解析“ archive.ubuntu.com” 我试图取消注释/ etc / default / docker下面的行 DOCKER_OPTS =“-dns

  • 我在我的项目中运行了composer update,因为我更改了计算机,所以我克隆了该项目。它返回了以下错误,但我不知道如何解决它们…: 问题1-系统中缺少请求的PHP扩展ext mcrypt*。安装或启用PHP的mcrypt扩展。 问题2-guzzle/guzzle v3.9.3的安装请求- 问题3-phpoffice/phpexcel 1.8.1的安装请求- 问题4-sentry/sentry

  • 问题内容: 进行时: 错误: 这是我的桌子: 问题答案: 照原样,必须先删除Advertisers表中的行,然后才能删除它引用的Jobs表中的行。这个: …实际上与应有的相反。实际上,这意味着您必须在作业表中有一条记录,然后才是广告商。因此,您需要使用: 纠正外键关系后,您的delete语句将起作用。

  • 我有两个表,当我试图保存通常的实体,扔 组织。springframework。刀。DataIntegrityViolationException:无法添加或更新子行:外键约束失败(,约束外键(,)引用(,));SQL[n/a];约束[null];嵌套的异常是org。冬眠例外ConstraintViolationException:无法添加或更新子行:外键约束失败(,constraint外键(,)参

  • 当更新其中一个表中的字段时,我很难制定一个jooq查询来返回两个表中的数据。(Postgres 9.6,jooq 3.11) 表DEVICE和CUSTOMER在外键约束设备上联接。CUSTOMERID=CUSTOMER.ID。 我想返回一个合格的device.id和设备客户的customer.secret,并更新device.stateIN_PROGRESS。资格由各种条款评估。 我开始用 这导致