本文へ移動

SQLをインポート・エクスポートする

すでに運用しているSQLがある場合は、最初から作り直す必要はありません。SQLのテーブル、カラム、インデックスを、スキーマファイル(.sfn)の形式でインポートできます。反対に、作成したスキーマファイルを外部データベース用のSQLとして確認することもできます。


SQLコンバーターを開く

スキーマ画面上部のエディタタブをクリックしてから、左側のSQL コンバータを選択します。

SQLコンバーター

SQLからスキーマファイルを作成する

  • スキーマ画面でインポート > SQLを選択し、CREATE TABLE文を貼り付けます。
  • ワークスペースで.sqlファイルを開いてから、SetFN スキーマに変換を実行します。

SQLite、PostgreSQL、MySQL/MariaDBの代表的なカラム型、デフォルト値、自動採番、インデックス、テーブル制約を解釈します。変換後は、保存する.sfn文書のテーブル数と警告を確認してください。

データベースの選択

変換先のデータベースを選択すると、右側にその形式のSQLがすぐに表示されます。

SQLスクリプトの確認

変換されたSQLスクリプトを確認します。次は、MySQLを対象にした変換の例です。

-- MYSQL Schema creation
CREATE DATABASE IF NOT EXISTS `public`;
USE `public`;

CREATE TABLE IF NOT EXISTS `public`.`user_profile` (
    `user_id` INT AUTO_INCREMENT NOT NULL UNIQUE,
    `email` VARCHAR(255) NOT NULL UNIQUE,
    `is_active` BOOLEAN NOT NULL DEFAULT TRUE,
    `created_at` TIMESTAMP NOT NULL DEFAULT now()
);
CREATE INDEX `user_id_idx` ON `public`.`user_profile` (`user_id`);
CREATE INDEX `email_idx` ON `public`.`user_profile` (`email`);

SQLファイルの保存

コード領域の右上にあるコピーボタンでスクリプトをコピーするか、保存ボタンで、拡張子が.sqlのファイルとして保存できます。

サポート対象

SQL コンバータでは、MySQL、PostgreSQL、Oracle、MSSQL、SQLite3、MongoDB、Elasticsearchを選択できます。MongoDBはコレクション作成スクリプト、Elasticsearchはインデックスマッピングとして表示されます。

WebSpaceにデプロイできるストレージエンジンは、SQLite3、PostgreSQL、MySQL、MariaDBです。SQL コンバータにはMariaDBの項目がなく、MariaDBへのデプロイではMySQL/InnoDB互換の保存方式を使用します。

注意事項

  • 変換されたSQLは、スキーマファイルの現在の状態をもとに生成されます。スキーマを修正した場合は、もう一度変換しないと最新の内容が反映されません。
  • データベースによっては対応していないデータ型がある場合があるため、変換結果を必ず確認してください。
  • トリガー、ビュー、パーティション、ストアドプロシージャは、自動変換の範囲外になる場合があります。

関連ドキュメント