【发布时间】:2020-04-29 08:30:39
【问题描述】:
sails 1.2.4,水线 0.13.6,sails-postgresql 1.0.2,npm 6.14.4,macOS 10.15.4
我的最终目标是抑制 waterline 提供的警告,因为我在sails 模型中配置了一个字段为“number”,并且在 postgresql 中将其配置为“bigint”。我知道不匹配,但这就是我想要的,因为我使用这个字段作为日期时间(以毫秒为单位),我确信这些值不会超过“数字”的大小(所以没有手臂使用“大整数')。适配器在 postgresql 中创建的“真实”字段不适合此目的。
一切正常,除了sails 生成以下非常详细的日志:
您看到此警告是因为您的数据库中有不符合要求的记录 与您的模型相匹配。这通常是模型定义的结果 在没有迁移剩余数据的情况下进行了更改。但也可能是因为记录 从 Sails/Waterline 之外的某个地方在您的数据库中添加或修改 (例如 phpmyadmin 或其他应用程序)。无论哪种情况,要消除此警告, 你有几个选择。首先,您可以更改模型定义 它与数据库中的现有记录匹配。或者你可以更新/销毁 数据库中的旧记录;手动或使用迁移脚本。
(例如,要擦除所有数据,您可以只使用
migrate: drop。)更罕见的是,此警告可能意味着适配器本身存在错误。如果你 相信是这样,那么请通过打开联系这个适配器的维护者 问题,或访问http://sailsjs.com/support 寻求帮助。
我发现存在带有水线的“skipRecordVerification”选项,我将“.meta({skipRecordVerification: true})”附加到所有查询中,但每次应用程序访问数据库时仍会产生警告。
任何想法让它与“skipRecordVerification”或任何其他方式来抑制警告一起工作?
【问题讨论】:
标签: sails.js waterline sails-postgresql