2017-09-06 9 views
0

私はliquibaseの初心者ですが、私はliquibaseドキュメントを読んだことがありますが、まだliquibaseがDBの現在のバージョンをどのように決定し、どのような変更をupdateに適用すべきかを見分けていません。 LiquiBaseをサイトのメインページからSQLスクリプトを検討する場合liquibaseがどのように決定しますか、どのような変更を適用する必要がありますか?

たとえば、:update

まず実行し、SQLファイルは次のとおりです。

--liquibase formatted sql 

--changeset nvoxland:1 
create table person (
    id int not null primary key, 
    firstname varchar(80), 
    lastname varchar(80) not null, 
    state varchar(2) 
); 

updateのセカンドラン、スクリプトが

です
--liquibase formatted sql 

--changeset nvoxland:1 
create table person (
    id int not null primary key, 
    firstname varchar(80), 
    lastname varchar(80) not null, 
    state varchar(2) 
); 

--changeset nvoxland:2 
alter table person MODIFY column firstname varchar(8) 

3回目は、次のとおりです。

--liquibase formatted sql 

--changeset nvoxland:1 
create table person (
    id int not null primary key, 
    firstname varchar(80), 
    lastname varchar(80) not null, 
    state varchar(2) 
); 

--changeset nvoxland:2 
alter table person MODIFY column firstname varchar(8) 

--changeset nvoxland:3 
alter table person MODIFY column firstname varchar(10) 

第4回実行します。

--liquibase formatted sql 

--changeset nvoxland:1 
create table person (
    id int not null primary key, 
    firstname varchar(80), 
    lastname varchar(80) not null, 
    state varchar(2) 
); 

--changeset nvoxland:2 
alter table person MODIFY column firstname varchar(8) 

--changeset nvoxland:3 
alter table person MODIFY column firstname varchar(10) 

--changeset nvoxland:4 
alter table person MODIFY column firstname varchar(8) 

第五の実行は次のとおりです。

--liquibase formatted sql 

--changeset nvoxland:1 
create table person (
    id int not null primary key, 
    firstname varchar(80), 
    lastname varchar(80) not null, 
    state varchar(2) 
); 

--changeset nvoxland:2 
alter table person MODIFY column firstname varchar(8) 

--changeset nvoxland:3 
alter table person MODIFY column firstname varchar(10) 

--changeset nvoxland:4 
alter table person MODIFY column firstname varchar(8) 

--changeset nvoxland:5 
alter table person MODIFY column firstname varchar(15) 

第五update実行時に起こったであろう何とLiquiBaseをを決定する方法を、第4回の実行データベースのバージョンの後になることを「4」カラムを15文字の長さに変更する必要がありますか?

かもしれないが、liquibaseはデータベースにいくつかの「バージョン」テーブルを追加し、適用されたチェンジセット/パッチの最新バージョンを挿入しますか?

ありがとうございました!

答えて

3

http://www.liquibase.org/documentation/index.htmlは言う:

変更セットが一意のchangelogファイルの場所と一緒に「著者」と「ID」属性によって識別されているとの実行を追跡LiquiBaseをユニットです。 Liquibaseが実行されると、DATABASECHANGELOGテーブルに実行済みとしてマークされたチェンジセットがクエリされ、チェンジログファイル内のまだ実行されていないすべてのチェンジセットが実行されます。

+0

ありがとうございました!私はそのページを見失った! –

関連する問題