SQLからDrizzleスキーマ変換

SQL CREATE TABLE文を型安全なカラムビルダー、リレーション、インデックス付きでDrizzle ORMスキーマ定義に変換します。

このツールについて

SQLからDrizzleスキーマ変換ツールは、SQL CREATE TABLE文を Drizzle ORMスキーマ定義に変換する無料のブラウザベースツールです。Drizzle ORMは 軽量で型安全なTypeScript ORMで、データベーステーブルをプレーンな TypeScriptオブジェクトとして定義するスキーマ・アズ・コードアプローチを採用しています。 既存のSQLデータベース構造をDrizzleのスキーマ形式に手動で変換する代わりに、 このツールがプロセスを自動化し、クリーンで慣用的なDrizzleテーブル定義を 数秒で生成します。

変換ツールはSQLを解析し、カラム型をDrizzleのカラムビルダーにマッピングします。 VARCHARINTEGERBOOLEANTIMESTAMPJSONなどの 標準SQL型はすべて自動的に処理されます。PostgreSQLのSERIALUUIDJSONB、MySQLのAUTO_INCREMENTTINYINT(1)ブーリアンパターン などのデータベース固有の型も認識します。ツールは3つのDrizzleダイアレクト モジュールすべてをサポートしています:drizzle-orm/pg-coredrizzle-orm/mysql-coredrizzle-orm/sqlite-core

外部キーはDrizzleの.references()チェーンメソッドに変換され、 参照先テーブルのカラムを指します。複合主キーはテーブルの第3引数の primaryKey()制約に、複合ユニーク制約はunique().on()に、 CREATE INDEX文はindex().on()呼び出しに変換されます。 使用するカラムビルダーと制約関数に基づいて、適切なimport文が 自動生成されます。

すべての処理はブラウザ内で完結します。SQL文がお使いの端末から外に 出ることはなく、サーバーとのやり取り、ログ記録、サードパーティ サービスの関与はありません。本番データベーススキーマや機密性の高い テーブル定義でも安全に使用できます。既存データベースのDrizzle ORMへの 移行、データモデルのプロトタイピング、SQL構造がDrizzleの スキーマ・アズ・コードパラダイムにどのように変換されるかの学習に最適です。

使い方

  1. 左側のSQL Inputパネルに1つ以上のSQL CREATE TABLE文を貼り付けます。
  2. 入力しながら右パネルにDrizzleスキーマ出力が自動更新されます。
  3. 正確なカラムビルダーマッピングとインポートパスのためにDialect(PostgreSQL、MySQL、SQLite)を選択します。
  4. 生成されたスキーマを確認します。ツールは適切なimport文、テーブル定義、チェーンされた修飾子付きのカラムビルダー、制約コールバックを生成します。
  5. CopyをクリックするかCtrl+Shift+Cを押して、生成されたDrizzleスキーマをクリップボードにコピーします。
  6. Sampleを使用して、複数のテーブル、外部キー、インデックスを含むサンプルSQLスキーマを読み込みます。
  7. Clearをクリックして両パネルをリセットし、最初からやり直します。

人気のSQL→Drizzle変換例

すべての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コードベースとの統合が容易です。

関連ツール