このドキュメントでは、Spanner 移行ツール(SMT)を使用して MySQL スキーマを Spanner に移行する方法について説明します。SMT は、MySQL スキーマを読み取り、Spanner スキーマに変換し、重複するインデックスを削除して、スキーマの最適化案を提案できます。
始める前に
SMT がインストールされ、設定されていることを確認します。詳細については、Spanner 移行ツールを設定するをご覧ください。
スキーマを構成する
ソース データベースと Spanner を SMT で接続すると、このツールは MySQL スキーマを読み取り、Spanner スキーマに変換します。このツールは、保存されたプロシージャやトリガーを変換しません。
スキーマ変換に関するレポートを表示するには、ウェブ UI の [スキーマを構成する] ページに移動し、[評価を表示] をクリックします。
このレポートには、スキーマ変換の全体的な評価と、テーブルレベルと列レベルの変換に関する詳細な情報、推奨事項と警告、変換できなかったスキーマ要素のリストが表示されます。
スキーマを変更する
[スキーマを構成する] ページで、ソースの MySQL データベース スキーマと Spanner スキーマのドラフトを表示できます。変換されたスキーマを組織のスキーマ要件に合わせて変更することもできます。
テーブルまたはインデックスを選択して、スキーマを表示、管理できます。
テーブル
ウェブ UI の [Spanner ドラフト] タブで、変更するテーブルを選択します。このタブでは、テーブルの削除と復元を行うことができます。選択したテーブルごとに、次のタブのリストが表示されます。
- 列
- 主キー
- 外部キー
- チェック制約
- SQL
列
[列] タブには、選択したテーブルの列に関する情報が表示されます。列は次の方法で編集できます。
- 列名を変更する
- 列を削除する
- 列のデータタイプを変更する
- 自動生成された ID を追加する
- デフォルト値を変更する
- null プロパティを変更する
Spanner ドラフトで既存の列を編集するだけでなく、選択したテーブルに新しい列を追加することもできます。
主キー
テーブルの主キーは、[主キー] タブで次の方法で表示および編集できます。
- 主キーから列を追加または削除する
- 主キーの列の順序を変更する
主キーに自動生成された列を使用することもできます。自動生成列を作成するには、次のいずれかを選択します。
外部キー
テーブルの外部キーは、[外部キー] タブで次の方法で表示および編集できます。
- 外部キー制約の名前を変更する
- 代わりにインターリーブ テーブルを使用する場合は、外部キーを削除する
- インターリーブされたテーブルを外部キーに戻す
チェック制約
テーブルのチェック制約を表示および編集するには、[チェック制約] タブを使用して、次の手順で行います。
- チェック制約の名前または条件を変更する
- チェック制約を削除する
SQL
GoogleSQL 言語の Spanner データ定義言語は、[SQL] タブで表示できます。
インデックス
ウェブ UI の [Spanner ドラフト] タブで、変更するインデックスを選択します。インデックスは次の方法で編集できます。
- インデックスを削除または復元する
- セカンダリ インデックスを追加する
- [SQL] タブで Spanner DDL を表示します。
移行の準備
スキーマの構成が完了したら、スキーマをテキスト ファイルとしてダウンロードし、DDL を使用してターゲット Spanner インスタンスにスキーマを作成できます。
スキーマをダウンロードするには、ウェブ UI の [移行を準備する] ページに移動し、次の操作を行います。
- [移行モード] プルダウンで [スキーマ] を選択します。
- [ダウンロード] をクリックして、スキーマ DDL をテキスト ファイルとしてダウンロードします。