私はLiquibaseを評価しており、SQLスクリプトを使用するよりもデータ移行に利点があるかどうかを調べています。私が次のことをしているとしましょう:
私のバージョン0のデータベーススキーマは次のようになります。
CREATE TABLE `Person` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`firstName` varchar(255) NOT NULL,
`lastName` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
データベースには、次の挿入で表される既存のデータが入力されています。
INSERT INTO `Person` (`id`, `firstName`, `lastName`) VALUES (1, 'foo', 'bar');
次に、nullではない別の列をPersonテーブルに追加することにしましたが、既存のデータを失いたくありません。バージョン0からバージョン1への移行スクリプトは次のようになります。
ALTER TABLE `Person` ADD COLUMN `dob` date DEFAULT NULL;
UPDATE `Person` set `dob` = '1970-01-01';
ALTER TABLE `Person` MODIFY COLUMN `dob` NOT NULL;
Liquibaseはこのユースケースを簡単にすることができますか?