【问题标题】:derby Data migration using liquibasederby 使用 liquibase 进行数据迁移
【发布时间】:2016-01-21 20:51:35
【问题描述】:

如何将两列分配给 Derby DB 的 Lquibase datamigration.xml 文件中的一个索引。我使用了以下与 oracle 和 MSSQL 配合良好的代码。但 derby 正在创建具有相同索引名称的两行。

<createIndex indexName="idx_group_name" tableName="rights" unique="true">
            <column name="name"/>
            <column name="group_name"/>
        </createIndex>

【问题讨论】:

  • 以上代码结果如下: oracle:- indexName = idx_group_name;列名 = 名称、组名。但是,德比有所不同。它创建两个索引名称;如:indexName = idx_group_name;列名 = 名称和索引名 = idx_group_name;列名 = 组名。如果您能像在 oracle 中一样帮助工作,我将不胜感激。我需要修复它,因为在数据迁移的下一步中,德比抱怨它有重复的索引名称。谢谢
  • 底层 Derby 数据库可以处理多列索引 (db.apache.org/derby/docs/10.12/ref/rrefsqlj20937.html),所以问题是由于某种原因 liquibase 没有生成单个多列索引。
  • @BryanPendleton 感谢您的投入。我认为应该有一些方法可以在 liquibase 中修复它。任何人都可以提供见解吗?谢谢
  • 你能用 'updateSQL' 运行 liquibase 来证明它确实创建了 2 个 sql 吗?我在 liquibase 代码中看不到任何在 derby 上创建两个语句的内容(或者在创建索引时处理 derby 完全不同)。但我也不监督整个代码...
  • @Jens 我不确定它是否创建了 2sqls,但上面的代码创建了两个索引名称,每个列名称用于 Derby,但一个索引名称和列名称用逗号分隔用于 Oracle 和 MSSQL。

标签: java derby liquibase


【解决方案1】:

Derby DB 在从 csv 文件上传相同数据时抱怨。通过不从 dbmigration.xml 文件上传 csv 文件解决了问题。谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 2012-04-19
    • 1970-01-01
    • 2011-05-22
    • 2015-02-17
    • 1970-01-01
    • 2014-10-26
    • 2018-12-29
    相关资源
    最近更新 更多