对只读模式进行后续操作?
Sequelize operations on read-only schema?
我希望使用的模式对我将与之一起使用 Sequelize 的用户是只读的。有没有办法告诉 Sequelize 不允许 create/drop/alter 表或任何其他模式对象?只允许 insert/delete/update/select.
目前如果我按照这个例子做:
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'
在我们不允许修改其结构的模式上执行创建操作和其他相关操作的正确方法是什么?
看来我错过了显而易见的事情。只需致电:
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/
我希望使用的模式对我将与之一起使用 Sequelize 的用户是只读的。有没有办法告诉 Sequelize 不允许 create/drop/alter 表或任何其他模式对象?只允许 insert/delete/update/select.
目前如果我按照这个例子做:
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'
在我们不允许修改其结构的模式上执行创建操作和其他相关操作的正确方法是什么?
看来我错过了显而易见的事情。只需致电:
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/