~/VibeHandbook
免费 PDF

14 · 10

回顾与练习

关键要点

  • 大多数应用只需要三种存储形态 — 关系型、文档型、键值型 — 中的一种,而关系型是安全的默认选择。
  • 从托管数据库开始:数据和模式决策由你掌握,服务器的运行由平台负责。
  • 好的模式设计意味着诚实的类型、外键与约束、合理的索引,以及没有重复的数据。
  • 把每一次迁移都当作一道单向门:在 drop 或重命名任何东西之前先备份,并仔细审查 AI 写的迁移。
  • 始终要求参数化查询,使用户输入永远不会被拼接进

动手试试

挑一个小小的应用点子,先用平实的中文把它的实体和关系写出来。然后把这段描述交给 AI,请它给出一份模式加一个前向迁移 — 在运行任何东西之前,用本章的清单审查结果。

Design a relational schema for a personal bookmarks app.

Entities and relationships:
- A user has many bookmarks.
- A bookmark belongs to one user, has a URL, a title, and many tags.
- A tag can apply to many bookmarks.

Requirements:
- Use UUID primary keys and created_at timestamps.
- Enforce relationships with foreign keys.
- Add indexes for the columns we'll filter on.
- Give me the schema as SQL plus a forward migration file.
- Flag any migration step that drops or renames so I can back up first.

想离线阅读?

免费下载整本书的 PDF 或 EPUB。