对只读模式进行续作操作?

时间:2016-03-23 18:17:54

标签: sequelize.js

我想使用的架构对我将使用Sequelize的用户是只读的。有没有办法告诉Sequelize不允许创建/删除/更改表或任何其他模式对象?它只允许插入/删除/更新/选择。

目前,如果我按照示例执行:

sequelize.sync({force: false}).then(function() {
       return Video.create({
           path: filename
       }
});

我收到以下错误:

Unhandled rejection SequelizeDatabaseError: ER_TABLEACCESS_DENIED_ERROR: CREATE command denied to user 'nodeuser'@'localhost' for table 'video'

在我们不允许修改其结构的架构上进行创建操作和其他相关操作的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

看起来我错过了显而易见的事。请致电:

Video.create({
    path: filename
});

虽然只是为了更完整:

Video.create({
    path: filename
}).then(function(entry) {
    // do something with the now persisted entry 
}).catch(function(error) {
    // handle any errors that may happen
});

仅当您希望Sequelize将实体定义同步到数据库时,才需要sync()功能。我错过了这个,因为这些例子似乎都在使用它,直到你开始深入研究文档。

此处有更多文档:http://docs.sequelizejs.com/en/latest/docs/instances/