我是PostgreSQL和节点的新手。我正在使用knex.js库。我需要创建角色并将其分配给我在PostgreSQL中创建的每个表。我不知道如何实现它。是否在表迁移时完成?或者我可以在迁移后这样做吗?如果是这样我怎么能这样做?
答案 0 :(得分:1)
我没有使用knex的经验,但我想你可以使用
knex.raw('create user blah password 'blah-blah')
创建用户。当然你的knex postgres用户需要CREATE ROLE
privs。
将创建的表的权限分配给用户可能与我想象的相同,例如:
knex.raw('grant select, update on table blah_blah to user blah')
这不应该对knex db用户有任何额外的权限,因为它创建表,因此是所有者。
答案 1 :(得分:1)
正如其他人所提到的,您需要使用knex.raw
和原始SQL语句(在本例中为postgresql风格)。 Knex没有任何支持设置角色的特殊API。