使用knexjs创建角色

时间:2017-09-18 06:53:24

标签: node.js postgresql database-migration knex.js postgresql-9.6

我是PostgreSQL和节点的新手。我正在使用knex.js库。我需要创建角色并将其分配给我在PostgreSQL中创建的每个表。我不知道如何实现它。是否在表迁移时完成?或者我可以在迁移后这样做吗?如果是这样我怎么能这样做?

2 个答案:

答案 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。