ape*_*ari 32 database version-control change-management liquibase
继liquibase快速启动后,我创建了一个变更集(非常愚蠢:))
码:
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.6"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.6
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.6.xsd">
<changeSet id="1" author="me">
<createTable tableName="first_table">
<column name="id" type="int">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="name" type="varchar(50)">
<constraints nullable="false"/>
</column>
</createTable>
<createTable tableName="new_table">
<column name="id" type="int">
<constraints primaryKey="true" nullable="false"/>
</column>
</createTable>
</changeSet>
</databaseChangeLog>
Run Code Online (Sandbox Code Playgroud)
我已经创建了一个干净的模式,并且我已经启动了migrate命令.
Liquibase使用支持表databasechangelog和..lock创建了数据库.
现在我如何跟踪变化?我已经修改了更改集添加了一个新的createTable元素但是当我尝试命令"update"时,liquibase告诉我这个
Migration Failed: Validation Failed:
1 change sets check sum
Run Code Online (Sandbox Code Playgroud)
所以我认为没有理解使用liquibase的方式.
有人可能会指出我正确的方向?
谢谢
Chs*_*y76 39
你永远不应该修改<changeSet>
已经执行的.Liquibase计算所有已执行的changeSet的校验和,并将它们存储在日志中.然后它将重新计算该校验和,将其与存储的校验和进行比较,如果校验和不同,则在下次运行校验和时失败.
您需要做的是添加另一个 <changeSet>
并将新的createTable元素放入其中.
QuickStart很好读,但它确实很快:-)查看完整的手册,特别是它的ChangeSet部分.
归档时间: |
|
查看次数: |
45867 次 |
最近记录: |