Postgresエクスポート
1つのコマンドで、プロジェクトをバンドルとして書き出し、自分のPostgresに復元できます。バンドルには、モデルから生成された型付きテーブル、公開済みコンテンツ、ファイルをダウンロードするためのリンクが含まれます。
1つのコマンド
foir export postgresは、アーカイブをカレントディレクトリに書き出します。ターゲットとして接続文字列を渡すと、CLIは自分のマシンからpsqlでバンドルを適用し、その文字列をFóirに送ることはありません。バンドルはストリームで届けられ、こちら側には保存されません。復元にはPostgres 15以降が必要です。
型付きテーブルと外部キー
レコードを保持する各モデルは、公開済みスキーマから生成された型付きテーブルになり、フィールドキーはスネークケースの列名になります。その隣に、ファイル、ロケールごとの翻訳、複数値のリファレンス、アクセス付与のためのテーブルが作られます。1つのモデルを指すリファレンスは外部キーになり、データのロード後に適用されます。複数のモデルを指しうるリファレンスには外部キーが付きません。1つの制約で複数のテーブルを指定できないためです。
公開済みのコンテンツ。ほかは指定した場合のみ
型付きテーブルには、各レコードの公開済みバージョンが入ります。下書き、古いバージョン、未公開のバリアントは含まれず、一度も公開されていないレコードも含まれません。バージョン管理も公開もないモデルは、保存されているままのレコードを書き出します。--include-rawを追加すると、保存されたままのすべてのレコードをJSONで保持するテーブルが、バンドルに1つ加わります。
ファイルはダウンロードリンクで
バンドルにファイル自体は含まれません。エクスポートしたコンテンツが参照する各ファイルについて、期限付きのダウンロードリンクが一覧になり、各ファイルをコンテンツが指すパスに取得するスクリプトが付きます。取得されるのは元のファイルで、どこからも参照されていないファイルは一覧に載りません。一覧を持つ人は、リンクの期限が切れるまでダウンロードできるため、シークレットとして扱ってください。
検証ファイル
エクスポートは、運べなかったものを出力します。宙に浮いた参照と、列に収まらなかった値で、どちらもNULLとして書き込まれます。アンロードした行が、公開済みレコードの独立した件数と一致しない場合、バンドルの生成を拒否します。復元したデータベースでは、validate.sqlが行数と列ごとのチェックサムを再確認します。ただし、アクセスルールは確認しません。
詳細を読む
エクスポートのガイドで、コマンドの実行、バンドルの内容、自分での復元、結果の検証を順に説明しています。