паруса 1.2.4, ватерлиния 0.13.6, паруса-postgresql 1.0.2, npm 6.14.4, macOS 10.15.4
Моя конечная цель - подавить предупреждение, выдаваемое ватерлинией, потому что у меня есть поле, настроенное в модели парусов как «число», а в postgresql оно настроено как «bigint». Я знаю о несоответствии, но это то, что я хочу, так как я использую это поле для даты и времени в миллисекундах, я уверен, что значения не будут превышать размер 'number' (так что не нужно использовать ' bigint '). «Настоящее» поле, созданное адаптером в postgresql, не подходит для этой цели.
Все работает нормально, за исключением того, что sails выводит следующий довольно подробный журнал:
Вы видите это предупреждение, потому что в вашей базе данных есть записи, которые не соответствуют вашим моделям. Часто это является результатом изменения определения модели без переноса оставшихся данных. Но это также может быть связано с тем, что записи были добавлены или изменены в вашей базе данных откуда-то за пределами Sails / Waterline (например, phpmyadmin или другое приложение). В любом случае, чтобы отключить это предупреждение, у вас есть несколько вариантов. Прежде всего, вы можете изменить определение модели так, чтобы оно соответствовало существующим записям в вашей базе данных. Или вы можете обновить / уничтожить старые записи в своей базе данных; вручную или с помощью сценария миграции.
(Например, чтобы стереть все данные, вы можете просто использовать
migrate: drop
.)Реже это предупреждение может означать ошибку в самом адаптере. Если вы считаете, что это так, обратитесь к разработчику этого адаптера, открыв вопрос, или посетите страницу http://sailsjs.com/support за помощью.
Я обнаружил, что существует опция «skipRecordVerification» с ватерлинией, и добавил «.meta ({skipRecordVerification: true})» ко всем запросам, но предупреждение по-прежнему выдается каждый раз, когда приложение обращается к БД.
Любая идея заставить его работать с «skipRecordVerification» или каким-либо другим способом подавить предупреждение?