SQLからDrizzleスキーマ変換
SQL CREATE TABLE文を型安全なカラムビルダー、リレーション、インデックス付きでDrizzle ORMスキーマ定義に変換します。
このツールについて
SQLからDrizzleスキーマ変換ツールは、SQL CREATE TABLE文を
Drizzle ORMスキーマ定義に変換する無料のブラウザベースツールです。Drizzle ORMは
軽量で型安全なTypeScript ORMで、データベーステーブルをプレーンな
TypeScriptオブジェクトとして定義するスキーマ・アズ・コードアプローチを採用しています。
既存のSQLデータベース構造をDrizzleのスキーマ形式に手動で変換する代わりに、
このツールがプロセスを自動化し、クリーンで慣用的なDrizzleテーブル定義を
数秒で生成します。
変換ツールはSQLを解析し、カラム型をDrizzleのカラムビルダーにマッピングします。
VARCHAR、INTEGER、BOOLEAN、TIMESTAMP、JSONなどの
標準SQL型はすべて自動的に処理されます。PostgreSQLのSERIAL、UUID、
JSONB、MySQLのAUTO_INCREMENTやTINYINT(1)ブーリアンパターン
などのデータベース固有の型も認識します。ツールは3つのDrizzleダイアレクト
モジュールすべてをサポートしています:drizzle-orm/pg-core、
drizzle-orm/mysql-core、drizzle-orm/sqlite-core。
外部キーはDrizzleの.references()チェーンメソッドに変換され、
参照先テーブルのカラムを指します。複合主キーはテーブルの第3引数の
primaryKey()制約に、複合ユニーク制約はunique().on()に、
CREATE INDEX文はindex().on()呼び出しに変換されます。
使用するカラムビルダーと制約関数に基づいて、適切なimport文が
自動生成されます。
すべての処理はブラウザ内で完結します。SQL文がお使いの端末から外に 出ることはなく、サーバーとのやり取り、ログ記録、サードパーティ サービスの関与はありません。本番データベーススキーマや機密性の高い テーブル定義でも安全に使用できます。既存データベースのDrizzle ORMへの 移行、データモデルのプロトタイピング、SQL構造がDrizzleの スキーマ・アズ・コードパラダイムにどのように変換されるかの学習に最適です。
使い方
- 左側のSQL Inputパネルに1つ以上のSQL
CREATE TABLE文を貼り付けます。 - 入力しながら右パネルにDrizzleスキーマ出力が自動更新されます。
- 正確なカラムビルダーマッピングとインポートパスのためにDialect(PostgreSQL、MySQL、SQLite)を選択します。
- 生成されたスキーマを確認します。ツールは適切な
import文、テーブル定義、チェーンされた修飾子付きのカラムビルダー、制約コールバックを生成します。 - CopyをクリックするかCtrl+Shift+Cを押して、生成されたDrizzleスキーマをクリップボードにコピーします。
- Sampleを使用して、複数のテーブル、外部キー、インデックスを含むサンプルSQLスキーマを読み込みます。
- Clearをクリックして両パネルをリセットし、最初からやり直します。
人気のSQL→Drizzle変換例
よくある質問
どのSQLダイアレクトに対応していますか?
パーサーは標準的なSQL CREATE TABLE構文をサポートし、PostgreSQL、MySQL、SQLiteのダイアレクト固有の機能を処理します。SERIAL / BIGSERIAL(PostgreSQL)、AUTO_INCREMENT(MySQL)、AUTOINCREMENT(SQLite)などに対応しています。最も正確なカラムビルダーマッピングとインポートパスを得るために、ドロップダウンで正しいダイアレクトを選択してください。
SQL型はどのようにDrizzleカラムビルダーにマッピングされますか?
一般的なマッピング例:VARCHARはvarchar()に、INTEGERはinteger()に、BOOLEANはboolean()に、TIMESTAMPはtimestamp()に、TEXTはtext()に、JSON/JSONBはjson()/jsonb()に、SERIALはserial()に、UUIDはuuid()(pg)に、BIGINTはbigint()に、DECIMAL/NUMERICはnumeric()またはdecimal()に変換されます。長さと精度の引数は保持されます。
外部キーはどのように処理されますか?
インラインのREFERENCES句とテーブルレベルのFOREIGN KEY制約の両方が検出されます。ツールはカラムビルダーに.references(() => referencedTable.column)チェーンを生成します。これはDrizzleの推奨パターンに従った外部キーリレーションの定義方法です。
複合主キーとインデックスに対応していますか?
はい。SQLがPRIMARY KEY (col1, col2)で複合主キーを定義している場合、ツールはテーブルの第3引数にprimaryKey()制約を生成します。同様に、複合ユニーク制約とCREATE INDEX文はそれぞれunique().on()とindex().on()呼び出しに変換されます。
import文は自動生成されますか?
はい。ツールはスキーマで使用されているカラムビルダー(varchar、integer、booleanなど)と制約関数(primaryKey、unique、index)を分析し、ダイアレクト固有のモジュール(drizzle-orm/pg-core、drizzle-orm/mysql-core、drizzle-orm/sqlite-core)からの正しいimport文を生成します。デフォルト値にSQL式が使用されている場合、sqlテンプレートタグ用のdrizzle-ormからの追加インポートが含まれます。
データは安全ですか?
はい。すべての解析とコード生成はJavaScriptを使用してブラウザ内で完全に実行されます。データがサーバーに送信されることはありません。ツール使用中にブラウザの開発者ツールのネットワークタブで確認できます。
SQL to Prismaコンバーターとどう違いますか?
両方のツールはSQLをORMスキーマ定義に変換しますが、対象のORMが異なります。DrizzleはTypeScriptの関数とチェーンメソッドによるスキーマ・アズ・コードアプローチを使用し、Prismaは独自の宣言的スキーマ言語(.prismaファイル)を使用します。Drizzleのスキーマは純粋なTypeScriptであるため、プログラム的な構成や既存のTypeScriptコードベースとの統合が容易です。
関連ツール
SQL → Prismaスキーマ変換
SQL CREATE TABLE文をPrismaスキーマモデルに変換します。一般的なSQL型とリレーションに対応。
SQL → Sequelizeモデル変換
SQL CREATE TABLE文をSequelizeモデル定義に変換します。DataTypesマッピングとアソシエーション対応。
SQLフォーマッター
MySQL、PostgreSQL、SQLite対応でSQLクエリの整形、美化、圧縮を行います。
JSON → SQLスキーマ変換
JSONからCREATE TABLE文を生成。MySQL、PostgreSQL、SQLite対応で自動型推論付き。
SQL → MongoDBクエリ変換
SQL SELECT文をMongoDBのfind()およびaggregate()クエリに変換します。全句サポート。
Prisma → SQLスキーマ変換
PrismaスキーマモデルをSQL CREATE TABLE文に変換します。PostgreSQL、MySQL、SQLite対応。