Drizzle to SQL DDL

Drizzle ORMスキーマからSQL CREATE TABLE DDL生成ツール

Drizzle ORM の pgTable、mysqlTable、sqliteTable 定義を高精度に解析し、実行可能な SQL CREATE TABLE マイグレーションスクリプトへと変換します。

プリセット:
対象ダイアレクト:
Drizzle TypeScriptスキーマ入力.ts
-- ============================================================================
-- Drizzle ORM Schema Migration DDL Script
-- Target Dialect: POSTGRES
-- Generated via ToolsAA Drizzle-to-SQL Engine
-- Tables: 0 | Columns: 0 | Foreign Keys: 0 | Indexes: 0
-- ============================================================================

-- ----------------------------------------------------------------------------
-- Table Definitions
-- ----------------------------------------------------------------------------
0
検出テーブル数
0
マッピング列数
0
インデックス・ユニーク制約

100% ブラウザ内プライバシー保護

サーバーへのデータ送信は一切ありません。すべてのAST解析とDDL生成はブラウザ内部で安全に実行されます。

マルチダイアレクトDDLエンジン

pgTable、mysqlTable、sqliteTableをそれぞれのSQL規格に適合した正確なCREATE TABLE、ALTER TABLE、CREATE INDEX文に変換します。

Drizzle Kit本番即応

drizzle.config.tsの設定レシピ、マイグレーション実行コマンド、型推論コードをワンクリックで取得できます。

技術リファレンス&アーキテクチャガイド

Drizzle ORM スキーマから SQL CREATE TABLE DDL 生成ツール — リファレンスガイド

Drizzle ORM の pgTable、mysqlTable、sqliteTable 定義を高精度に解析し、実行可能な SQL CREATE TABLE マイグレーションスクリプトへと変換します。

主要パラメータ&設定項目

SQL方言およびターゲットドライバ (SQL Dialect & Driver)Enum (PostgreSQL / pgTable | MySQL / mysqlTable | SQLite / sqliteTable)

対象データベースエンジンを選択し、方言固有のDDL構文、データ型マッピング(TIMESTAMP WITH TIME ZONE vs DATETIME、JSONB vs JSONなど)、識別子エスケープ記号、および制約規則を決定します。

初期値: PostgreSQL / pgTable
制約配置戦略 (Constraint Placement Strategy)Enum (テーブルレベル名前付き制約 | カラムインライン制約)

主キー、一意制約、および外部キー参照を列定義内にインラインで記述するか、テーブル定義末尾の明示的な CONSTRAINT 句として出力するかを制御します。

初期値: テーブルレベル名前付き制約
インデックスおよびEnum出力戦略 (Index & Enum Emission)Enum (独立したDDL文として出力 | テーブル定義内埋め込み)

PostgreSQLのカスタムEnum(pgEnum)や各種インデックス定義を独立した CREATE TYPE や CREATE INDEX 文として出力するか、テーブル定義内に統合するかを指定します。

初期値: 独立したDDL文として出力
冪等性および前処理句 (Idempotency & Preambles)Enum (CREATE TABLE IF NOT EXISTS | 厳格な CREATE TABLE | DROP TABLE IF EXISTS を付加)

安全な存在確認句(IF NOT EXISTS)を付加するか、マイグレーションのクリーンな再実行を可能にする DROP TABLE IF EXISTS ... CASCADE; 文を前置するかを選択します。

初期値: CREATE TABLE IF NOT EXISTS

プロの活用テクニック&推奨設定

依存関係順序の調整または外部キーの遅延定義でテーブル作成エラーを防止

外部キー参照を含む複数テーブルのスキーマを変換する際は、親テーブルが子テーブルよりも先に作成されるようソートするか、外部キーを後続の ALTER TABLE ... ADD CONSTRAINT 文として出力して循環参照エラーを回避してください。

Drizzle v0.29+ の配列構文と従来のオブジェクト構文の両方をサポート

Drizzle ORM では複合主キーやインデックス定義が、従来の (table) => ({ pk: primaryKey(...) }) から配列を返す (table) => [primaryKey(...), index(...)] へ更新されました。スキーマ入力が両形式に対応していることを確認してください。

PostgreSQLのカスタムEnumをテーブル定義前に安全に宣言

PostgreSQLスキーマで pgEnum を使用する場合、DO $$ BEGIN ... EXCEPTION WHEN duplicate_object THEN null; END $$; でガードされた CREATE TYPE 文を先行出力することで、重複エラーを防ぎ冪等なマイグレーションを実現できます。

よくあるトラブルと解決策

外部キー解決時に「リレーションが存在しません (relation does not exist)」エラーが発生する

外部キー制約は参照先テーブルと主キー列が事前に存在している必要があります。スキーマ内のテーブル定義順序を親優先に並べ替えるか、外部キー制約をテーブル作成後の ALTER TABLE 文に分離してください。

DBエンジン間の変換時にデータ型の不一致や未サポートの修飾子が発生する

選択したSQL方言とカラム定義が一致しているか確認してください。PostgreSQL特有の jsonb、IDENTITY列、UUID自動生成(gen_random_uuid())などは、MySQLやSQLiteをターゲットとする場合、対応するプリミティブ型(JSON や CHAR(36) など)へ適切にマップする必要があります。

よくある質問 (FAQ)

Drizzle ORM の外部キー参照やカスケードルール(onDelete/onUpdate)はどのように変換されますか?▼

.references(() => table.column, { onDelete: 'cascade', onUpdate: 'set null' }) 句を解析し、SQLの REFERENCES table(column) ON DELETE CASCADE ON UPDATE SET NULL 句へと直接変換して、完全な参照整合性を維持します。

複合主キーや複数カラムにわたるインデックスはサポートされていますか?▼

はい。Drizzleのテーブル設定コールバックで定義された primaryKey({ columns: [table.colA, table.colB] }) や index('idx_name').on(table.tenantId, table.email) は、テーブルレベルの PRIMARY KEY や独立した CREATE INDEX 文へ正確にマッピングされます。

1つのスキーマファイルから複数テーブルやPostgreSQL Enumをまとめて変換できますか?▼

はい。複数の pgTable、mysqlTable、または sqliteTable と pgEnum のエクスポートを含むTypeScriptコード全体を貼り付けると、各定義を自動解析して依存関係を考慮した完全なSQL DDLスクリプトを出力します。

公式の `drizzle-kit generate` コマンドと比較した本ツールのメリットは何ですか?▼

`drizzle-kit generate` はNode.js環境、drizzle.config.ts、およびnpmパッケージのインストールを必要としますが、本ブラウザツールはインストール不要かつ完全クライアントサイドで動作し、即座に生SQL DDLを確認・検証できます。

関連するおすすめ開発ツール

すべてのツール →
GitHub Actions CI/CD ワークフロー YAML 生成ガイド開発ツール

Node.js、Go、Python、Docker ビルド、ユニットテスト、自動リリースに対応した本番向け GitHub Actions ワークフロー YAML パイプラインを安全かつ迅速に構築します。

ツールを開く→
Linux Logrotate 設定ファイル生成ツール (保持期間 & 圧縮設定ガイド)開発ツール

日次・週次ローテーション、gzip圧縮、dateext、ファイルサイズ制限、postrotateスクリプトを含む本番環境用 /etc/logrotate.d/ 設定ファイルを安全に生成。

ツールを開く→
Ubuntu Netplan ネットワーク設定 YAML 生成ツール開発ツール

Ubuntu 20.04/22.04/24.04 向けの Netplan YAML 設定(静的IP、DHCP、DNSネームサーバー、ゲートウェイルート、仮想ブリッジ、BOND構成)をブラウザ上で安全に生成。

ツールを開く→
SQL DDL から Python SQLAlchemy 2.0 モデル生成ツール開発ツール

SQL の CREATE TABLE 文を、最新の Mapped および mapped_column 型注釈を備えた堅牢な Python SQLAlchemy 2.0 DeclarativeBase モデルへ即座に変換します。

ツールを開く→
SQL DDLからGolang GORM構造体モデル生成ツール開発ツール

SQLのCREATE TABLEスキーマからGORMタグ、JSONタグ、適切なGo型マッピングを備えたGolang構造体(struct)モデルを瞬時に自動生成します。

ツールを開く→
SQL DDLからSequelize TypeScriptモデルへの変換ジェネレーター開発ツール

SQLのCREATE TABLE文からSequelizeのTypeScriptモデル、DataTypes定義、CreationOptional属性、およびModel.init初期化コードを生成するための包括的開発者リファレンス。

ツールを開く→