Supabase RC 2如何从远程数据库生成TypeScript类型?
解决Supabase RC2中生成TypeScript类型时的连接字符串报错问题
报错原因
--db-url参数要求传入的是PostgreSQL原生连接字符串,不是Supabase项目的HTTPS域名(比如https://your-project.supabase.co),这就是触发Error: URL is not a valid Supabase connection string.报错的核心原因。
解决方法一:使用正确的PostgreSQL连接字符串生成类型
- 登录Supabase控制台,进入目标项目
- 左侧菜单栏选择「Settings」→「Database」
- 找到「Connection string」区域,选择「URI」格式,复制完整的连接字符串(格式示例:
postgresql://postgres:your-db-password@db.your-project.supabase.co:5432/postgres) - 执行正确的生成命令(注意给连接字符串加双引号,避免特殊字符解析错误):
npx supabase gen types typescript --db-url "postgresql://postgres:your-db-password@db.your-project.supabase.co:5432/postgres" > src/database.types.ts
解决方法二:通过Supabase CLI关联项目后生成(更便捷)
- 全局安装Supabase CLI:
npm install -g supabase
- 登录Supabase账号:
supabase login
- 关联你的远程项目(项目ref可在项目设置的「General」页面找到):
supabase link --project-ref your-project-ref
- 直接生成类型,无需手动传入db-url:
supabase gen types typescript --linked > src/database.types.ts
内容的提问来源于stack exchange,提问作者Dawe
相关产品推荐
相关产品推荐

