JillionDB

ドキュメント

リスクレベル

すべての変更に 3 つのレベルのいずれかと理由が付きます。レベルは、データベースにすでにあるデータに何が起こりうるかを表します。

安全

既存のものには何も影響しません。テーブルや空の列の追加は安全です。

注意

実行できますが、既存のデータで失敗したり、使用中のテーブルをしばらくロックしたり、古い名前を使うコードを壊したりすることがあります。

破壊的

今あるデータを削除したり切り捨てたりする可能性があります。二度読んでください。

JillionDB が確認するすべての項目

確認画面で表示されるのと同じ理由です。

安全
テーブルの追加
新しいテーブルです。既存のものには影響しません。
安全
任意の列の追加
空の列を追加します。既存の行には影響しません。
安全
型を長くする、または選択肢を増やす
より長い値や選択肢を許可します。既存のデータには影響しません。
安全
列を任意にする
空の値を許可します。既存のものは変わりません。
安全
既定値の変更
新しい行にのみ影響します。
安全
コメントの変更
ドキュメントのみの変更です。
安全
テーブルと一緒に削除される関係
テーブルと一緒に削除されます。
安全
自動生成されたインデックス名やキー名の変更
自動生成される名前を新しい名前に合わせます。
注意
テーブルや列の名前変更
古い名前を使うコードは、更新するまで動かなくなります。
注意
既定値のない必須列の追加
テーブルに行があると、その値がないため失敗します。
注意
全行に値を入れる列の追加
既存のすべての行に値を入れるため、テーブルを書き直し、その間ロックします。
注意
より大きな型への変更
テーブルをより大きな型に書き直し、その間ロックします。
注意
タイムゾーンあり・なしの時刻の切り替え
既存の時刻はサーバーのタイムゾーンで変換されます。
注意
データベース固有の型の変更
データベース固有の型を変更します。既存の値が変換できるか確認してください。
注意
列を必須にする
空の行が 1 つでもあると失敗します。
注意
新しい ID の作り方の変更
新しい ID の作り方が変わり、既存の ID と重複することがあります。
注意
重複禁止ルールの追加
既存の行に重複があると失敗します。
注意
重複禁止ルールの削除
重複が起こりうるようになります。
注意
主キーの変更
重複があると失敗し、このテーブルへのリンクも更新が必要になることがあります。
注意
インデックスの追加
大きなテーブルでは、インデックス作成中は書き込みがロックされます。
注意
インデックスの削除
これに頼っていたクエリが遅くなることがあります。
注意
関係の追加
既存のすべての行を確認し、一致しないものがあると失敗します。
注意
関係の削除
データベースはこれらの値を確認しなくなります。
注意
チェックルールの追加
ルールに反する行が 1 つでもあると失敗します。
注意
チェックルールの削除
データベースはこのルールを強制しなくなります。
注意
テーブルオプションの変更
テーブルが再構築されることがあります。
注意
SQLite がテーブルを作り直さないとできない変更
SQLite ではテーブルを新しいテーブルへコピーしてこれらの変更を行います。
破壊的
テーブルの削除
テーブルとそのすべての行を削除します。
破壊的
列の削除
列とそのデータを削除します。
破壊的
型を短く・小さくする
収まらない値は切り詰められるか、変更が失敗します。
破壊的
リストから選択肢を削除
… を使っている行があると変更が失敗します。
破壊的
別の種類の型への変更
既存の値の変換は失敗したりデータが失われたりする可能性があります。

マイグレーション全体についての注意

注意
複数ステップの MySQL マイグレーション
MySQL ではスキーマ変更を途中で取り消せません。途中で失敗しても、それまでの手順は適用されたままです。
注意
破壊的な変更のロールバック
ロールバックすると削除したテーブルや列は作り直されますが、データは戻りません。