Sails. JS не будет подниматься, если для атрибута id моей модели для параметра autoIncrement установлено значение true. - PullRequest
0 голосов
/ 06 августа 2020

К сожалению, эта таблица использует id как varchar (255), и нет столбца, используемого как автоматически увеличивающийся идентификатор. Для моих целей я не могу этого изменить. id - это строка, и у меня нет способа обойти это.

module.exports = {

  tableName: 'report_config',
  attributes: {

    id: { type: 'string', autoIncrement: true },
    APP_NAME: {type: 'string' },
    REPORT_NAME: {type: 'string'},
    REPORT_DESCRIPTION: {type: 'string'},
    USERNAME: {type: 'string'},
    CONTACT_NAME: {type: 'string'},
  },

};

Когда я go на маршруте для этой модели (еще не определен контроллер или представление, только контроллер по умолчанию файл, который создается) мне представлены 30 записей. Я понимаю, что это связано с функцией чертежей, которая очень удобна.

Однако, если я удалю autoIncrement из id, я получаю сообщение об ошибке при попытке поднять приложение:

error: Could not tear down the ORM hook.  Error details: Error: Invalid data store identity. No data store exist with that identity.

Я закомментировал атрибуты createdAt, updatedAt и id в models.js, и я не знаю, где еще можно установить это значение по умолчанию.

Что я здесь делаю не так?

1 Ответ

0 голосов
/ 07 августа 2020

Решение состоит в том, чтобы убедиться, что для id установлено значение required: true.

...