Postgres 导出
一条命令把项目写成一个数据包,你可以恢复到自己的 Postgres 中:根据你的模型生成的类型化表、你已发布的内容,以及下载你的文件的链接。
一条命令
foir export postgres 会在当前目录写出一个归档。把连接字符串作为目标传给它,CLI 就会在你自己的机器上用 psql 应用该数据包,而不会把这个字符串发送给 Fóir。数据包以流的形式传给你,不会存储在我们这边。恢复需要 Postgres 15 或更高版本。
类型化表与外键
每个保存记录的模型都会变成一张类型化表,根据其已发布的 schema 生成,你的字段键会变成蛇形命名的列。旁边还有文件、各语言区域的翻译、多值引用和访问授权的表。指向单个模型的引用会变成外键,在数据加载后应用。可能指向多个模型的引用则没有外键,因为一个约束无法指明多张表。
已发布内容,除非你要求更多
类型化表保存每条记录的已发布版本。草稿、较早的版本和未发布的变体都不包含在内,从未发布过的记录也一样。没有版本控制或发布功能的模型按存储原样导出记录。添加 --include-raw 后,数据包会多出一张表,把每条记录按存储原样以 JSON 保存。
以下载链接提供文件
数据包不包含文件本身。它为你导出的内容所引用的每个文件列出一个有时限的下载链接,并附带一个脚本,把每个文件取回到内容所指向的路径。你得到的是原始文件,没有任何内容引用的文件不会列出。持有该列表的人在链接过期前都可以下载,因此请把它当作机密。
验证文件
导出会打印它无法携带的内容:悬空引用和放不进其列的值,两者都写为 NULL。如果卸出的行数与已发布记录的独立计数不一致,它会拒绝生成数据包。在恢复后的数据库上,validate.sql 会重新检查行数和每列校验和。它不检查访问规则。
了解详情
导出指南逐步说明如何运行命令、数据包中有什么、如何自行恢复以及如何验证结果。