Supabase | 我设计和管理数据库的方法

Supabase | 我设计和管理数据库的方法

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

在dbdiagram.io设计数据库后,将导出的.sql文件移至Supabase的迁移文件夹并应用迁移。使用Snaplet Seed工具填充数据,确保配置正确。最后,重置远程数据库以同步本地结构,并可选择填充远程数据库数据。

🎯

关键要点

  • 在dbdiagram.io设计数据库后,导出.sql文件并移动到Supabase的迁移文件夹。

  • 如果数据库拓扑涉及非'public'模式的表,需检查.sql文件中的代码。

  • 使用命令'supabase db reset --no-seed'应用迁移到本地Supabase数据库。

  • 使用Snaplet Seed工具填充数据,确保配置正确。

  • 在seed.config.ts中配置本地数据库链接。

  • 在seed.ts中创建用户并填充相关数据,确保DRY_RUN设置为false。

  • 使用'npx @snaplet/seed sync'让Snaplet Seed了解本地数据库的当前状态。

  • 重置远程数据库以同步本地结构,使用命令'supabase db reset --linked --no-seed'。

  • 可选择将数据填充到远程数据库,确保seed.config.ts中使用生产数据库链接。

延伸问答

如何在Supabase中应用数据库迁移?

将导出的.sql文件移动到Supabase的迁移文件夹,然后使用命令'supabase db reset --no-seed'应用迁移。

使用Snaplet Seed工具填充数据的步骤是什么?

在seed.config.ts中配置本地数据库链接,创建用户并填充数据,确保DRY_RUN设置为false,然后运行'npx @snaplet/seed sync'。

如何检查.sql文件中的非'public'模式表?

如果数据库拓扑涉及非'public'模式的表,需检查.sql文件中的代码,确保没有多余的CREATE TABLE语句。

如何重置远程数据库以同步本地结构?

使用命令'supabase db reset --linked --no-seed'来重置远程数据库以同步本地结构。

在seed.ts中如何创建用户并填充数据?

在seed.ts中使用createSeedClient创建用户,设置相关数据并调用seed.auth_users方法填充数据。

如何确保Snaplet Seed了解本地数据库的当前状态?

运行命令'npx @snaplet/seed sync'来让Snaplet Seed了解本地数据库的当前状态。

➡️

继续阅读