CREATE TABLE をコードに変換
変換処理はすべてブラウザ内で完結します。データは送信されません
1 つの CREATE TABLE 文から 4 種類の成果物を作ります。JSON のサンプルデータ(API ドキュメントのレスポンス例に)、HTML フォーム(列の型に合ったコントロール付き)、Yii2 モデル(class・rules・attributeLabels)、Postman コレクション(そのテーブルの CRUD 雛形、そのままインポートできます)。列の型は自動で判別します —— int と decimal は数値、tinyint(1) は真偽値、date と datetime はそれぞれ専用の入力欄、enum はセレクト、text と json はテキストエリアになります。フォームのラベルは列の COMMENT を優先するので、テーブル作成時に書いたコメントがここで効いてきます。パーサーは実際の入力を前提にしています。mysqldump や GUI クライアントからコピーしたものには条件コメント・DROP TABLE・索引・外部キーが付いてきますが、それらは解析を壊さず読み飛ばされます。
機能
- 4 種類の成果物:JSON サンプルデータ、HTML フォーム、Yii2 ActiveRecord モデル、Postman コレクション
- 列の型を自動判別:整数と decimal は数値、tinyint(1) は真偽値、date / datetime / time、json、text、enum
- フォームのコントロールを型で選ぶ:テキスト、数値、日付、日時、時刻、テキストエリア、enum はセレクト、真偽値はチェックボックス
- フォームのラベルは列の COMMENT を優先し、無ければ列名にフォールバック
- 自動採番の主キーはフォームに出さない —— ID 欄があると入力必須だと誤解されるため
- NULL 可の列には required を付けず、文字列型には maxlength を付ける
- Yii モデルの rules() はすべての列を網羅(書かれていない属性は Yii 側で弾かれるため)
- 生成される PHP では引用符とバックスラッシュが正しくエスケープされる
- Postman コレクションには List / Create / Get one / Update / Delete の 5 リクエストと baseUrl 変数が入る
- 実際の入力に対応:条件コメント、DROP TABLE、索引・外部キー定義、行末コメントはすべて読み飛ばす
- COMMENT の中の二重ハイフンを SQL の行コメントと誤認しない
- 処理はすべてブラウザ内で完結し、スキーマは送信されません
使い方
- CREATE TABLE 文を貼り付ける
- 生成するものを選ぶ
- 結果をコピー —— JSON と Postman コレクションはそのまま使え、フォームとモデルはパスや名前空間を自分のプロジェクトに合わせてください
よくある質問
- どのデータベースの DDL に対応していますか?
- 主な対象は MySQL(MariaDB を含む)です。バッククォート、AUTO_INCREMENT、COMMENT、enum、tinyint(1) を MySQL の意味どおりに扱います。PostgreSQL の定義も多くの場合で列と型を読み取れますが、serial や ::text は通常の型として処理されます。SQL Server の [dbo].[orders] のような名前は認識できません —— その場合は表名を推測せず「CREATE TABLE が見つかりません」と明示して終わります。
- 一度に複数のテーブルを処理できますか?
- できません。複数の CREATE TABLE がある場合、最初の 1 つだけを使い、残りは無視します。4 種類の成果物はいずれも「1 つのテーブル」についてのもの(フォームの項目、モデルのクラス名、コレクションのパス)なので、4 テーブル分を一度に出すと、そのままでは使えない混合物になります。
- フォームに自動採番の主キーが無いのはなぜですか?
- その値は入力する人が渡すものではないからです。ID の入力欄があると、自分で何か入れなければならないと誤解されます —— 実際にはデータベースかバックエンドが管理します。Yii モデルでは逆に、id を rules() に残しています(Yii 公式の gii 生成器と同じ挙動)。既存レコードの更新時に検証が必要だからです。
- JSON の値が string や 0、2026-01-01 なのはなぜですか?
- これは雛形であってモックデータではないからです。一目でプレースホルダーと分かる値なので実データと取り違えられません。一方で型どおりの形(数値は数値、真偽値は真偽値、json はオブジェクト)こそが本当に伝えたい情報で、API ドキュメントのレスポンス例が正しい構造かを確認するのはまさにそこです。リアルな偽データが必要な場合はモックデータ生成ツールをお使いください。
- Postman コレクションはどう使いますか?
- 出力を .json ファイルとして保存し、Postman の File → Import から読み込みます。パスはテーブル名から作られ(product テーブルなら /product)、baseUrl 変数の初期値は http://localhost:3000 です —— インポート後にこの 1 つを変えれば、コレクション全体が自分の環境を向きます。POST と PUT のボディはこのテーブルの JSON 雛形なので、そのまま送ればバックエンドがこれらのフィールドを受け取れるかがすぐ分かります。
- スキーマは送信されますか?
- いいえ。解析と生成はブラウザのメモリ上だけで行われ、ページは一切リクエストを送りません。オフラインでも動作します。テーブル定義には命名規則や業務上の意味が含まれますが、それらが端末の外に出ることはありません。
関連ツール
JSON → コード
整形JSON サンプルから TypeScript interface、Go struct、Java class、Rust struct を生成。欠けたキーは任意に、型の衝突は共用型に。すべてブラウザ内で処理します。
cURL ツールボックス(コード / 解析 / 構築)
Webcurl コマンドを 7 言語のコードに変換し、ヘッダーやボディのフィールド表にも分解できます。HTTP リクエストから curl を組み立てる逆向きも可能です。
モックデータ
生成「フィールド名:型」を数行書くだけで、形式が本物そっくりのモックデータをまとめて生成。JSON・CSV・TSV・SQL・XML・YAML・TOML で出力できます。
表の変換
テキストCSV・TSV・Markdown の表を相互変換:Markdown 表、ASCII 罫線表、HTML、JSON、CSV。引用符は RFC 4180 に沿って処理し、列幅は表示幅で揃えます。
タイムスタンプ変換
変換Unix タイムスタンプと日時を相互変換。秒〜ナノ秒を桁数で判別し、小数・負数・Windows FILETIME にも対応します。
日付計算
変換2つの日付の差が何日かを計算し、日・週・月の加減算もできます。日付はカレンダーから選ぶか貼り付けで。終了日を空にすると今日と比較。