skipRecordVerification не подавляет предупреждение ORM - PullRequest
0 голосов
/ 29 апреля 2020

паруса 1.2.4, ватерлинии 0.13.6, паруса- postgresql 1.0.2, npm 6.14.4, macOS 10.15.4

Моя конечная цель - отменить предупреждение, выданное ватерлинией потому что у меня есть поле, настроенное в sails 'model как' number ', и оно настроено как' bigint 'в postgresql. Я знаю о несоответствии, но это то, что я хочу, так как я использую это поле для даты и времени в миллисекундах, я уверен, что значения не будут превышать размер 'числа' (поэтому не стоит использовать ' BIGINT '). «Настоящее» поле, созданное адаптером в postgresql, не подходит для этой цели.

Все работает нормально, кроме паруса, выдает следующий подробный журнал:

Вы видите это предупреждение, потому что в вашей базе данных есть записи, которые не соответствуют вашим моделям. Это часто является результатом изменения определения модели без переноса оставшихся данных. Но это также может быть связано с тем, что записи были добавлены или изменены в вашей базе данных из-за пределов Sails / Waterline (например, phpmyadmin или другого приложения). В любом случае, чтобы убрать это предупреждение go, у вас есть несколько вариантов. Прежде всего, вы можете изменить определение модели, чтобы оно соответствовало существующим записям в вашей базе данных. Или вы можете обновить / уничтожить старые записи в вашей базе данных; либо вручную, либо с помощью сценария миграции.

(Например, чтобы стереть все данные, вы можете просто использовать migrate: drop.)

В более редких случаях это предупреждение может означать ошибка в самом адаптере. Если вы считаете, что это так, обратитесь к специалисту по обслуживанию этого адаптера, открыв проблему, или обратитесь за помощью http://sailsjs.com/support.

Я обнаружил, что существует ' опция skipRecordVerification 'с ватерлинией, и я добавил' .meta ({skipRecordVerification: true}) 'ко всем запросам, но предупреждение все равно выдается каждый раз, когда приложение обращается к БД.

Любая идея, чтобы заставить его работать с 'skipRecordVerification' или любым другим способом подавления предупреждения?

...