Обнаружена неожиданная ошибка от Waterline в (в значительной степени) идентичных созданиях - PullRequest
1 голос
/ 19 февраля 2020

Выполнение следующего кода для создания новой строки базы данных (PostgreSQL 11.3):

const supplier = await Supplier.create(
      Object.assign({}, entityData, {
        last_activity_date: sails.services.datehelper.GetTimeNow(),
        account: supplierParams.supplier,
        monitored: !!activeRegistry,
        verified: true
      })
    );
error: Error (E_UNKNOWN) :: Encountered an unexpected error
    at new WLError (invoice-portal/node_modules/waterline/lib/waterline/error/WLError.js:25:15)
    at invoice-portal/node_modules/waterline/lib/waterline/model/lib/defaultMethods/save.js:188:17
    at invoice-portal/node_modules/waterline/node_modules/async/lib/async.js:52:16
    at invoice-portal/node_modules/waterline/node_modules/async/lib/async.js:550:17
    at invoice-portal/node_modules/waterline/node_modules/async/lib/async.js:544:17
    at _arrayEach (invoice-portal/node_modules/waterline/node_modules/async/lib/async.js:85:13)
    at Immediate.taskComplete (invoice-portal/node_modules/waterline/node_modules/async/lib/async.js:543:13)
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)

1 Ответ

0 голосов
/ 20 февраля 2020

Я добавил некоторые дополнительные записи (наконец, в правильном месте) в invoice-portal / node_modules / waterline / lib / waterline / model / lib / defaultMethods / save. js, чтобы перехватить все сохраненные данные, и это не было создание Поставщика, которое не удалось, но вставка элемента строки счета-фактуры (что происходит после того, как поставщик создан / обновлен).

Некоторый сбой синхронизации / корреляции заставляет паруса выдавать ошибку после создания Поставщика (вероятно, в конец транзакции) почему я искал не в том месте ... Исправление ошибки проверки для данных позиции счета-фактуры решило проблему!

...