【问题标题】:Is Auto_Increment supported in Oracle using LiquibaseOracle 是否支持使用 Liquibase 的 Auto_Increment
【发布时间】:2019-11-30 18:15:06
【问题描述】:

我想使用 liquibase 脚本在 oracle 数据库中添加一个 auto_increment 列。

我已经尝试在 liquibase 中使用 auto_increment 属性:

<column name="SUPPLEMENT_ID" type="INTEGER" autoIncrement="true" >
<constraints primaryKey="true"></constraints> 
</column>

如果 oracle 支持 auto_increment,如何使用 liquibase 脚本来实现?

【问题讨论】:

  • 你的oracle版本是多少? autoincriment 仅适用于版本 12
  • 你的 Liquibase 版本是什么?您是否知道 Oracle 中没有 auto_increment 选项?如果有的话,那就是supplement_id integer generated always as identity
  • 我现在用的是oracle 12,支持吗?
  • Oracle 12c 支持使用 Horse 描述的语法的 IDENTITY 列。根据Liquibase Jira site,,最新版本应该支持 Oracle 12c 的自动增量。 Find out more

标签: oracle auto-increment liquibase


【解决方案1】:

根据@APC 在问题下的评论,Liquibase 从版本 3.4.0 开始支持 Oracle 自动增量。见https://liquibase.jira.com/browse/CORE-1731

【讨论】:

    【解决方案2】:

    在 oracle 12c 中引入了 IDENTITY 列,允许用户创建自增列

    但如果您使用的是旧版本,则必须使用序列和触发器对列进行建模,因为没有 auto_increment 或 identity 之类的选项。

    请参阅此答案,了解如何在这两种情况下执行此操作 https://stackoverflow.com/a/11296469/8330426

    【讨论】:

      猜你喜欢
      • 2014-03-17
      • 2016-08-12
      • 2021-04-25
      • 2020-02-07
      • 1970-01-01
      • 1970-01-01
      • 2019-12-25
      • 2019-01-29
      • 1970-01-01
      相关资源
      最近更新 更多