データベーススキーマを変更する必要があります。データベースの変更を追跡して更新するためのスキーマ変更および更新スクリプトを作成する予定です。私はついていきます
初めに、私は彼が得ているものの要点を得ましたが、以前にSQLスクリプトにあまり取り組んだことがないので、チュートリアルなどで始めるのが良いでしょう。私はWebでいくつかの調査を行ったところ、ほとんどの人が自動比較ツールを使用してスクリプトを生成していることを知りました。このスクリプトは、プロセスで何も学習しないという明らかな理由のため、実行したくないものです。
変更スクリプトと更新スクリプトの書き方に関するチュートリアル/リンクを探していますか?スクリプトを使用してテーブルに接続し、SchemaChangeLogテーブルを比較してスキーマを更新する方法について、単一のスクリプト/疑似コードも見つけられなかったため、特にスクリプトを更新してください...
前もって感謝します!
最初に、 Liquibase などの既存のソリューションを使用します。 HibernateなどのORMを使用する場合は、スキーマの移行も実行できます。
それ以外の場合は、次のようになります。
最初のデータベーススキーマスクリプトから始めて、0.0.0001.sql
などのバージョン番号を付けます。テーブルなどを作成するためのCREATE
ステートメントがほとんど含まれます。
-- use me to keep track of what version the database schema is using:
create table schema_version (
name text primary key
);
create table contact (
id bigserial primary key,
first_name text not null
);
insert into schema_version values ('0.0.0001');
すべての.sqlスキーマスクリプトをgitなどのソース管理に保存します。
次に、必要に応じて、0.0.0002.sql
などのパッチファイルを追加します。通常、データベーススキーマを調整するALTER
ステートメントが含まれます。
alter table contact add column last_name text;
insert into schema_version values ('0.0.0002');
特定のデータベースの場合は documentation を読む必要があります。それらはしばしばわずかに異なるALTER構文を持っているためです。
次に、データベースが使用しているスキーマのバージョンを確認し、そのバージョンより大きい利用可能なパッチを適用する非SQLスクリプト(おそらくbash)を作成します。schema_versionテーブルがない場合は、最初のSQLスクリプトを適用します。
この本はAmazonで高く評価されています: