【发布时间】:2021-03-12 14:49:26
【问题描述】:
想象一下,我有一个表“一些表”,我想在多个模式中创建它。名为“create-some-table.yaml”的文件
databaseChangeLog:
- changeSet:
id: create-some-table
runOnChange: true
author: gimazov (generated)
preConditions:
- onFail: MARK_RAN
not:
tableExists:
tableName: some-table
changes:
- createTable:
columns:
- column:
autoIncrement: true
constraints:
nullable: false
primaryKey: true
primaryKeyName: some-table_pkey
name: id
type: BIGINT
tableName: some-table
schemaName: ${schema}
然后有一个 yaml 文件 'schema1.yaml' 包含上一个文件并设置架构
databaseChangeLog:
- property:
name: schema
value: schema1
- include:
file: classpath:/db/changelog/create-some-table.yaml
然后与上面的文件相同,只是命名为'schema2.yaml'并具有相应的架构名称
最后一件事是非常简单的 changelog-master
databaseChangeLog:
- include:
file: classpath:/db/changelog/schema1.yaml
- include:
file: classpath:/db/changelog/schema2.yaml
有什么办法可以做类似的事情吗,谢谢:)
【问题讨论】:
-
不,我不这么认为:(
标签: liquibase