はじめに
hkob の雑記録の第201回目は Notion 座談会でも話をした CSV ファイルを使ったインポートを試してみたいと思います。
関係者データベース
今日は他のデータベースに依存することがない関係者データベースから始めます。このデータベースには Relation が多数ありますが、全て has_many 側になります。すなわち必要なものは、Name, Yomi, Head のみとなります。Head はデータベースオートメーションで自動設定もできますが、それほど面倒ではないのでセレクタのままでいいかと思います。

座談会の中では、必要な項目だけを数式で join すればいいのではと思ったのですが、エクスポートで指定したビューだけを CSV 書き出しできることに気づきました。このため、CSV 書き出し用のビューを作成します。先ほど示した Name, Yomi, Head だけのビューを作成します。

データベースのフルページでエクスポートを実行します。

次のようなダイアログが表示されるので、現在のビューでエクスポートを実行します。

ダウンロードした zip ファイルの中には二つのファイルがあり、all でない方がビューの CSV ファイルになっています。プレビューで見ると正しく生成されているようです。

この CSV を新しいデータベースの方にインポートをしてみます。

このページにはすでにコンテンツがあるので、新しいページを作成する必要があると出てきました。最近、プライベートページに新規作成されるのではなく、現在の空のページに作成するように変わったようです。

「はい、続行します」とするといつものようなダイアログが出てきます。

CSV を選ぶとファイルを選択画面になります。

先ほどのファイルを選択します。ここで、「CSVヘッダーをマッピングする」を選択します。

「最初の行をヘッダとして使用する」にチェックが入っているので、Name, Yomi, Head がプロパティタイトルになっています。また、それぞれのプロパティの型は思った通りのものになっていました。

無事にインポートされましたが、今まで通りプライベートページの先頭につくられてしまいました。こちらのページに移動しておきます。また、データベースタイトルに ID がついてしまっているので、こちらも消しておきます。

最終的にこんな感じでデータベースが一つ作成されました。

おわりに
CSV export & import で必要な項目は順に移行できそうです。次はリレーションを含むデータの移行をテストしてみます。