JSONレコードをSQL INSERT文に変換する
APIやエクスポートのオブジェクト配列をそのまま実行できるINSERT文に。テーブル名と方言を選んでコピーして実行します。
このガイドで使う道具
やりたいこと
シードデータや参照テーブル、APIから取ったレコードをデータベースに入れたい。INSERT文を手で書くのは面倒なので、正しいクォート付きで出力する変換器を使います。
変換する
フラットなオブジェクトのJSON配列を貼ります。各オブジェクトが1行、キーが列名になります。テーブル名と方言を選びます(識別子のクォートはMySQLがバッククォート、他は二重引用符)。文字列はエスケープ、nullはNULL、真偽値と数値はそのまま出力します。
- キーが揃っていなくても大丈夫です。最も広いオブジェクトが列を決め、欠損値はNULLになります。
- ネストしたオブジェクトや配列はJSON文字列に直列化され、TEXT/JSON列に入ります。
具体例
APIが返した12件の商品オブジェクト。貼ってテーブルを`products`、クォートをMySQLにすると、12本のINSERT文が出ます。マイグレーションに貼るかコンソールで実行します。
対応範囲
INSERTのみで、CREATE TABLEやUPDATE/UPSERTは出しません。入力はJSON配列(単一オブジェクトも可)で2MB・2000行まで。本番で実行する前に生成SQLを検証してください。列が存在することが前提です。