有没有人遇到过 npm 包带来的不间断警告问题:@supabase/supabase-js
The warning message:
warn - ./node_modules/cross-fetch/node_modules/node-fetch/lib/index.js
Module not found: Can't resolve 'encoding' in '/Users/maxsilva/Sites/kamapay/sasa-frontend/node_modules/cross-fetch/node_modules/node-fetch/lib'
Import trace for requested module:
./node_modules/cross-fetch/node_modules/node-fetch/lib/index.js
./node_modules/cross-fetch/dist/node-ponyfill.js
./node_modules/@supabase/supabase-js/dist/main/lib/fetch.js
./node_modules/@supabase/supabase-js/dist/main/SupabaseClient.js
./node_modules/@supabase/supabase-js/dist/main/index.js
./lib/supabaseClient.js
./app/[lng]/page.jsx
Run Code Online (Sandbox Code Playgroud) 我想在 Supabase 表中创建一个枚举列。Supabase 在底层使用 Postgres,所以我知道从技术上来说,如果我使用 SQL 手动执行此操作是可能的。但是有什么方法可以通过前端以更简单的方式做到这一点吗?
这是我的表的简化结构 - 2 个主表,1 个关系表。
处理插入 API 的最佳方法是什么?如果我只有一个客户端和 Supabase:
- First API call to insert book and get ID
- Second API call to insert genre and get ID
- Third API call to insert book-genre relation
Run Code Online (Sandbox Code Playgroud)
这是我能想到的,但是3个API调用似乎是错误的。
有没有一种方法可以让我通过客户端的单个 API 调用插入到这 3 个表中,就像我可以调用的单个 postgres 函数一样?
请分享一个API的通用示例,谢谢!
根据文档,插入新记录
const { error } = await supabase
.from('countries')
.insert({ name: 'Denmark' })
Run Code Online (Sandbox Code Playgroud)
回报
{
"status": 201,
"statusText": "Created"
}
Run Code Online (Sandbox Code Playgroud)
对于 的列Is Identity,它会自动为该列分配一个连续的唯一编号。
如何使用 JavaScript 客户端获取 Supabase 上新插入记录的 ID?
我试图弄清楚如何在 supabase 中实现查询:
模式
CREATE TABLE cars
(
id SERIAL PRIMARY KEY,
brand TEXT
);
CREATE TABLE stores
(
id SERIAL PRIMARY KEY,
car INT REFERENCES car(id),
name TEXT
);
Run Code Online (Sandbox Code Playgroud)
我想要获取所有出售品牌“x”汽车的商店
在 Supabase 中我可以这样过滤:
let { data: stores } = await supabase
.from('stores')
.select("*")
.eq('name', 'Ford car shop')
// Returns
{
id: 123456,
car:"Ford",
name:"Ford car shop"
}
Run Code Online (Sandbox Code Playgroud)
或者像这样加入:
let { data: stores } = await supabase
.from('stores')
.select(`
*,
cars (
brand
)
`)
.eq('name', 'Ford car shop')
// …Run Code Online (Sandbox Code Playgroud) 使用 Supabase 时,是否有一种干净/简单的方法可以删除所有关联记录以及某个项目?假设我有帖子,并且一个帖子可以有很多评论。当我删除帖子时,我也想删除评论。
基本上就像dependend: :destroyRails 中的东西。
const { data, error } = await supabase
.from('posts')
.delete()
.match({ id: 123 })
.options({ destroyDependent: true }) // set some option that tells Supabase to delete all associated records as well.
Run Code Online (Sandbox Code Playgroud) 当我使用 Postgres 数据库时,Supabase我运行以下命令,npx prisma migrate dev --name init但出现以下错误(屏幕截图中的第一个命令):
Error: db error: FATAL: bouncer config error
0: migration_core::state::DevDiagnostic
at migration-engine/core/src/state.rs:251
Run Code Online (Sandbox Code Playgroud)
当我使用railway.appPostgres 数据库时,它会成功迁移(屏幕截图中的第二个命令)。
我需要在其中一列中自动添加插入行的作者。我正在使用 postgREST (使用 Supabase 云服务),并且我不希望用户添加他们想要的任何人作为作者。有没有办法自动添加发布数据的用户的用户ID?谢谢!
如何在supabase中查询与外键的一对一关系?
我的桌子:
数据:游戏
("id": 1, "created_at": "2022-03-02T11:01:11+00:00", "played_at": "2022-04-02T12:15:06+00:00")
Run Code Online (Sandbox Code Playgroud)
数据:结果
("game_id": 1, "key": "alyktm3cf11bypgg")
Run Code Online (Sandbox Code Playgroud)
我的 SUPABASE 查询如下所示:
const { data, error } = await supabase
.from('games')
.select('*, registrations(walletKey), results(key)')
.order('scheduled_at')
;
Run Code Online (Sandbox Code Playgroud)
结果包含一系列注册,如下所示:
{
"id": 1,
"created_at": "2022-03-02T11:01:11+00:00",
"played_at": "2022-04-02T12:15:06+00:00",
"results": [
{
"key": "alyktm3cf11bypgg"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但由于总是只有一个结果,我可以修改我的查询来获得这个结果吗?
{
"id": 1,
"created_at": "2022-03-02T11:01:11+00:00",
"played_at": "2022-04-02T12:15:06+00:00",
"results":
{
"key": "alyktm3cf11bypgg"
}
}
Run Code Online (Sandbox Code Playgroud)
甚至是这个:
{
"id": 1,
"created_at": "2022-03-02T11:01:11+00:00",
"played_at": "2022-04-02T12:15:06+00:00",
"key": "alyktm3cf11bypgg"
}
Run Code Online (Sandbox Code Playgroud) 我在supabase中创建了一个表并填充了一些数据,有没有办法在不与supabase客户端交互的情况下下载该表?
我想将其保存为 CSV 文件以供将来使用,但没有明显的功能可以从 supabase 中提取整个表。
supabase ×10
postgresql ×4
sql ×3
javascript ×2
database ×1
next.js ×1
nosql ×1
npm ×1
postgrest ×1
prisma ×1
reactjs ×1
supabase-js ×1