Sails.js sails lift在执行alter自动迁移策略时失败,尝试使用IN()进行选择,而不使用IN()中的ID

Sails.js sails lift在执行alter自动迁移策略时失败,尝试使用IN()进行选择,而不使用IN()中的ID,sails.js,waterline,Sails.js,Waterline,在扬帆时,当它试图执行alter自动迁移策略时,我遇到了一个致命错误。错误消息没有帮助,我跟踪查找了导致错误的sails lift正在执行的操作。这些是最后执行的查询(查看最后一个查询) 在最后一个查询中,它试图在不提供任何值的情况下使用In()进行选择(该表为空,显然它找不到任何ID放入其中,就像上面的类内表查询一样) 我的问题是,如果表是空的(上面没有看到检查表的插入),为什么它要这样做?我如何修复这个问题 我通过将一些数据放入exam表中解决了这个问题,但无法找出为什么sails在表为空时

在扬帆时,当它试图执行alter自动迁移策略时,我遇到了一个致命错误。错误消息没有帮助,我跟踪查找了导致错误的sails lift正在执行的操作。这些是最后执行的查询(查看最后一个查询)

在最后一个查询中,它试图在不提供任何值的情况下使用In()进行选择(该表为空,显然它找不到任何ID放入其中,就像上面的类内表查询一样)


我的问题是,如果表是空的(上面没有看到检查表的插入),为什么它要这样做?我如何修复这个问题

我通过将一些数据放入
exam
表中解决了这个问题,但无法找出为什么sails在表为空时尝试在没有任何参数的情况下执行in()

您使用的是MySQL还是Postgres?您使用的是哪个版本的Sails?Sails v0.10.4,我使用的是MySQL。您可以发布您的模型吗?这样我们就可以继续并重新创建流程。我现在是一家以隐身模式启动的公司,对于在现阶段发布模型我真的很犹豫——可能一个月后左右(它可以帮助一个人对想法/问题进行逆向工程——对不起,我有妄想症。)还有其他方法可以帮助吗?
DESCRIBE `class`
SHOW INDEX FROM `class`;
SELECT `class`.`name`, `class`.`schoolFk`, `class`.`id`, `class`.`createdAt`, `class`.`updatedAt` FROM `class`
DROP TABLE `class`
DESCRIBE `class`
CREATE TABLE `class` (`name` VARCHAR(50) , `schoolFk` INT , `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `createdAt` DATETIME , `updatedAt` DATETIME )
DESCRIBE `class`
SHOW INDEX FROM `class`;
INSERT INTO `class` (`class`.`name`, `class`.`schoolFk`, `class`.`id`, `class`.`createdAt`, `class`.
`updatedAt`) VALUES ('9 N', 1, 7, '2014-08-16 22:35:07', '2014-08-16 22:35:07');
INSERT INTO `class` (`class`.`name`, `class`.`schoolFk`, `class`.`id`, `class`.`createdAt`, `class`.
`updatedAt`) VALUES ('9M', 1, 9, '2014-08-16 23:07:53', '2014-08-16 23:07:53');
INSERT INTO `class` (`class`.`name`, `class`.`schoolFk`, `class`.`id`, `class`.`createdAt`, `class`.
`updatedAt`) VALUES ('9 C', 1, 5, '2014-08-16 22:07:01', '2014-08-16 22:07:01');
INSERT INTO `class` (`class`.`name`, `class`.`schoolFk`, `class`.`id`, `class`.`createdAt`, `class`.
`updatedAt`) VALUES ('9 P', 1, 8, '2014-08-16 22:40:29', '2014-08-16 22:40:29');

SELECT * FROM `class` WHERE `id` IN (7,9,5,8);

DESCRIBE `exam`
SHOW INDEX FROM `exam`;
SELECT `exam`.`academicYear`, `exam`.`schoolFk`, `exam`.`classFk`, `exam`.`term`, `exam`.`examNo`, `exam`.`lesson`, `exam`.`examTopics`, `exam`.`userFk`, `exam`.`id`, `exam`.`createdAt`, `exam`.`updatedAt` FROM `exam`
DROP TABLE `exam`
DESCRIBE `exam`
CREATE TABLE `exam` (`academicYear` VARCHAR(20) , `schoolFk` INT , `classFk` INT , `term` VARCHAR(50) , `examNo` VARCHAR(50) , `lesson` VARCHAR(255) , `examTopics` LONGTEXT , `userFk` INT , `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `createdAt` DATETIME , `updatedAt` DATETIME )
DESCRIBE `exam`
SHOW INDEX FROM `exam`;
SELECT * FROM `exam` WHERE `id` IN ();