Why a Notion Export .zip Is NOT a Backup (And How to Actually Restore Relations, Rollups, and Views)
Why a Notion Export .zip Is NOT a Backup (And How to Actually Restore Relations, Rollups, and Views)
为什么 Notion 的导出 .zip 文件不是备份(以及如何真正恢复关联、汇总和视图)
If you’ve ever exported your Notion workspace expecting a real backup, here’s the uncomfortable truth: you have a copy of your text, not a working system. What a Notion export actually gives you Settings → Export → Markdown & CSV gives you a zip file. Inside: one Markdown file per page, one CSV per database. That’s it. It looks like a backup because you have “all your data” in files on your computer. But try to actually restore from it and the cracks show immediately. 如果你曾经导出过 Notion 工作区并期待得到一份真正的备份,那么有一个令人不安的事实:你得到的只是文本副本,而不是一个可运行的系统。通过“设置 → 导出 → Markdown & CSV”导出的实际上是一个压缩包。里面包含:每个页面一个 Markdown 文件,每个数据库一个 CSV 文件。仅此而已。它看起来像备份,因为你的电脑里确实有了“所有数据”。但当你尝试从中恢复时,问题立刻就会显现出来。
Why relations don’t survive A relation property in Notion stores an array of page IDs it points to. When you export to CSV, that relation gets flattened to the displayed text of the related page — not the actual link. Re-importing that CSV doesn’t recreate a relation; it creates a plain text column that happens to contain some words that used to be a link. If your workspace has Tasks linked to Projects, linked to Clients, linked to Invoices — every one of those connections is gone the moment you export. You get four separate spreadsheets with no relationship between them. 为什么关联无法保留:Notion 中的关联属性存储的是它所指向的页面 ID 数组。当你导出为 CSV 时,该关联会被扁平化为相关页面的显示文本,而不是实际的链接。重新导入该 CSV 并不会重建关联;它只会创建一个纯文本列,其中恰好包含了一些曾经是链接的文字。如果你的工作区有“任务”关联“项目”,再关联“客户”,最后关联“发票”——导出的一瞬间,所有这些连接就都消失了。你得到的只是四个互不关联的独立电子表格。
Why rollups and views don’t survive either Rollups compute a value based on a relation and an aggregation function (sum, count, etc.). Export gives you the last computed value as static text — not the formula, not the relation it depends on. If the underlying data changes, that number in your export is now just wrong and frozen. Views (your filtered/sorted/grouped table, board, or calendar layouts) aren’t part of the export at all. You get raw rows. Any filtering, grouping, or sort order you built has to be manually recreated from scratch. 为什么汇总和视图也无法保留:汇总(Rollups)是基于关联和聚合函数(求和、计数等)计算出的值。导出功能只会将最后计算出的值作为静态文本提供给你,而不是公式,也不是它所依赖的关联。如果底层数据发生变化,你导出文件中的那个数字现在就是错误且固定的。视图(你设置的筛选、排序、分组表格、看板或日历布局)根本不在导出范围内。你得到的只是原始行数据。你之前构建的任何筛选、分组或排序规则都必须从零开始手动重建。
The 30-day problem that makes this worse Deleted database rows sit in Notion’s trash for exactly 30 days before permanent deletion. Version history doesn’t help here — it tracks edits to pages that still exist, not pages that were deleted. So the common assumption “I have version history, I’m covered” is false for the specific failure mode that actually happens: someone deletes a database or a bulk-edit goes wrong, and by the time it’s noticed, the 30-day window may already be closing or closed. 让情况更糟的“30天问题”:被删除的数据库行会在 Notion 的回收站中停留整整 30 天,之后会被永久删除。版本历史记录在这里帮不上忙——它只追踪现有页面的编辑,而不是已删除的页面。因此,常见的假设“我有版本历史记录,所以没问题”在实际发生的故障模式下是错误的:当有人删除了数据库或批量编辑出错时,等到被发现时,30 天的窗口期可能已经快要结束或已经关闭了。
What actually solves this To restore relations properly, a tool needs to work through Notion’s API directly (not the file export), capturing the real relation targets, rollup configurations, and view definitions as structured data — then rebuild the database and re-point every relation to the newly created pages on restore. That’s meaningfully more work than a flat export, which is likely why several established Notion backup tools state outright on their own websites that a complete restore “isn’t possible.” 什么才是真正的解决方案:要正确恢复关联,工具必须直接通过 Notion 的 API(而不是文件导出)进行工作,将真实的关联目标、汇总配置和视图定义作为结构化数据捕获,然后在恢复时重建数据库,并将每个关联重新指向新创建的页面。这比扁平化导出要复杂得多,这可能就是为什么几款知名的 Notion 备份工具在其官网上直接声明“无法实现”完整恢复的原因。
The takeaway If your Notion workspace has any relational structure — tasks linked to projects, a CRM, anything with rollups — treat “I have an export” as false security. It protects your text. It does not protect your system. Test whether your current backup approach can actually restore before you’re relying on it in a real emergency. I write more about this at restora.cc, where I build backup/restore tooling for Notion specifically around this relational-restore problem. 总结:如果你的 Notion 工作区包含任何关联结构(如任务关联项目、CRM 系统或任何带有汇总的功能),请将“我有导出文件”视为一种虚假的安全感。它保护了你的文本,但并没有保护你的系统。在真正遇到紧急情况需要依赖备份之前,请先测试你当前的备份方案是否真的能够恢复数据。我在 restora.cc 上写了更多相关内容,我正在那里专门针对这种关联恢复问题构建 Notion 的备份/恢复工具。