schemaName не работает для sails-postgresql - PullRequest
1 голос
/ 05 июня 2019

Я использую sails v1.2.2 с адаптером sails-postgresql.Ищете использование Model с конкретным schemaName.Но связь с сопоставленным по умолчанию schemaName (public)

{
   tableName : "t_role",
   meta: {
     schemaName: 'autorisation'
   }
}

AdapterError: непредвиденная ошибка адаптера базы данных: связь "public.t_role" не существует

1 Ответ

1 голос
/ 20 июня 2019

Привет, я сталкиваюсь с той же проблемой, когда пытаюсь перейти на паруса v1.x.x. Я пытаюсь выяснить это в течение всего дня, сделать отладку * thx для VSCode.

ps: я не знаю, действительно ли этот подход решает проблему, но он работает

Мне нужно добавить код в два файла библиотеки ватерлинии. Вот некоторые файлы

  1. кузнечно-этап-три query.js

    Я не знаю, как именно работает водная линия, но паруса будут добавлять / заменять (если есть) мета-атрибуты, если вы хотите получать данные при запросе к модели добавлять некоторые извлечения в мета-свойствах

Так что мне нужно добавить такой код в строке 82

s3Q.using = model.tableName;

if (typeof model.meta.schemaName !== 'undefined'){
  //meta property only set if query fetch : true
  if (typeof s3Q.meta !== 'undefined'){
    //we have to initialize propery of meta
    s3Q.meta.schemaName = model.meta.schemaName;
  }else{
    s3Q.meta = model.meta;
  }
}

И все работает отлично, пока я не попытаюсь получить некоторые данные с заполнением, и паруса получат сбой, схема снова станет общедоступной, после того, как я снова выполню некоторую отладку, я нашел этот файл

  1. Справка-find.js

в этом файле мне нужно заменить код

в строке 247 заменить на этот код

meta: junctionTableModel.meta,

в строках 290 и 441 заменить на этот код

var meta = childTableModel.meta;

Надеюсь, это поможет ..

...