【发布时间】:2014-12-29 02:08:23
【问题描述】:
我在使用 Node.js + Express + Sequelize 创建触发器时遇到问题。
我有我的模型对象的表(即用户、设备等)和连接表来表达它们的多对多关联(即 hasDevice)。
我的麻烦来自于我无法使用
创建一个简单的触发器sequelize.query('query', null, {raw: true});
因为表的创建是完全异步的,我不知道何时会创建触发器的表(特别是我收到以下错误:
可能未处理的 SequelizeDatabaseError: ER_NO_SUCH_TABLE: Table 'express612.hasDevice' 不存在
提前感谢您的帮助。
【问题讨论】:
-
您需要在创建表后运行创建查询的触发器。异步创建表的代码是什么?
-
这确实是我的问题。我觉得我无法控制表创建过程。我正在关注本教程sequelizejs.com/articles/express#the-application,并且如您所见,没有关于表创建的明确部分(或者可能只是我在这个问题上是一个小新手)
-
似乎它会在
.sync之后的.then回调中 -
你说得对:) 特别是,根据 Sequelize 的官方教程,sync() 在 ./bin/www 内部使用(这就是我没有看到它的原因)。 @ExplosionPills 你可以写一个答案来接收绿色勾号:)
标签: mysql node.js triggers sequelize.js