内容提要
在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了解本地数据库的当前状态。