Open1

postgresデータを、D1にインポートするメモ

knaka Tech-Blogknaka Tech-Blog

概要

postgres構成アプリのデータを、D1にインポートする例になります。

[ 公開: 2023/12/24 ]


環境

  • node 20
  • DB Browser for SQLite
  • cloudflare D1
  • cloudflare pages
  • hono

export

  • postgres から、CSVエクスポート

  • テーブル単位で、pgAdmin 4 ツールから、CSV出力

  • 先頭ヘッダは、追加しておく

id,createdAt,updatedAt,title,content,complete,userId
105,2022-04-05 7:54:08,2022-04-05 7:54:08,t2,aaa<br />***<br />* a<br />* b<br />* cccc<br />***<br />CCC<br /><br />,1,0
3,2022-04-03 23:56:26,2022-04-03 23:56:26,t1,c1,0,0
4,2022-04-03 23:56:31,2022-04-03 23:56:31,t1,c1,0,0


import - local

  • local d1, dbファイル(wrangler: 3.15.0 の場合) 下記のパス

  • .wrangler/state/v3/d1/miniflare-D1DatabaseObject/xxx.sqlite

  • winの場合、指定フォルダにコピーしておく

  • 読み込むCSVファイルは、テーブル.csv にしておく (ex: todos.csv)


  • DB Browser for SQLite

  • dbファイルを開く、ファイル、インポート、CSVファイル

  • 先頭行をカラムに、チェックONにする


  • import CSV


  • エクスポート、SQLファイル を実行すると、 SQLファイルが出力

  • local File - import (todosImport.sql の場合)
npx wrangler d1 execute my-d8 --local --file=./todosImport.sql
  • 上記で、postrgres CSVファイルから、ローカルのインポート完了、アプリでデータ使える

  • d1 importする (クラウド側DB)
npx wrangler d1 execute my-d8 --file=./todosImport.sql