DMS は、データベースレベルでスキーマ変更を追跡します。DMS を使用してテーブルのスキーマを変更するたびに、対象データベース全体に対して新しいスキーマバージョンが保存されます。「データベースバージョン一覧」ページから、スキーマバージョンのダウンロードおよび比較、または不要な変更からの復旧のために以前のバージョンへのロールバックが可能です。
仕組み
スキーマバージョンとは、ある時点におけるデータベース内のすべてのテーブルのスキーマ状態を記録したものです。以下のいずれかの操作によってテーブルのスキーマが変更された場合、DMS は自動的に新しいバージョンを保存します:
SQL コンソール タブで実行された SQL ステートメント
通常のデータ変更、ロックフリーのデータ変更、スキーマ設計、または スキーマ同期 のチケット経由で送信された SQL ステートメント
DMS 管理者が SQL タスクで実行した SQL ステートメント
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
対象テーブルまたはデータベースに対する 権限 を有していること
以下のいずれかのタイプのデータベースであること:
MySQL:ApsaraDB RDS for MySQL、PolarDB for MySQL、PolarDB-X、AnalyticDB for MySQL、および MySQL モードの OceanBase データベース
PostgreSQL:ApsaraDB RDS for PostgreSQL、PolarDB for PostgreSQL、および AnalyticDB for PostgreSQL
PolarDB for PostgreSQL (Compatible with Oracle)
SQL Server
MariaDB
Oracle
制限事項
| 制約 | 詳細 |
|---|---|
| コントロールモード別のバージョン保持数 | 柔軟な管理:3 バージョン;安定的な変更:20 バージョン;セキュリティコラボレーション:無制限 |
| テーブル数が 1,024 を超えるデータベース | スキーマバージョン管理はサポートされていません |
| システムデータベース | サポートされていません(例:MySQL の information_schema および sys) |
「データベースバージョン一覧」ページを開く
DMS コンソール V5.0 にログインし、以下のいずれかの方法で「データベースバージョン一覧」ページを開きます。
データベースインスタンスセクションから開く
左側のナビゲーションウィンドウで、データベースインスタンス をクリックします。対象データベースを検索し、右クリックして バージョン管理 を選択します。

SQL コンソールタブから開く
対象データベースの[SQLConsole] タブを開きます。右上隅にある
アイコンをクリックします。

インスタンスページから開く(DMS 管理者および DBA のみ)
左上隅の
アイコンにカーソルを合わせ、すべての機能 > データ資産 > インスタンス の順に選択します。説明 コンソールが通常モードの場合は、代わりに上部のナビゲーションバーから データ資産 > インスタンス を選択してください。データベース一覧 タブで、対象データベースを検索します。
操作 列で、その他の操作 > バージョン管理 を選択します。

スキーマバージョンの表示・比較・ロールバック
「データベースバージョン一覧」ページで、操作対象のスキーマバージョンを特定します。以下の操作が利用可能です。
バージョンに対応する SQL の表示
変更の詳細 をクリックすると、当該スキーマバージョンを生成した正確な SQL ステートメントを確認できます。これにより、各バージョン間の差分を把握できます。
2 つのバージョンの比較
比較対象の 2 つのスキーマバージョンを選択し、バージョン比較 をクリックします。
直前のバージョンへのロールバック
ロールバック をクリックして、データを直前のスキーマバージョンへと復元します。