sequalizejs: наличие точки в tableName добавляет к ней двойные кавычки - PullRequest
0 голосов
/ 17 октября 2018

Что вы делаете?

пытаетесь получить данные из таблицы postgres retail_lending.city_tax_reference с использованием моделей, но когда я использую это в tableName, вставка двойных кавычек к имени таблицы в запросе

const CityTax = this.config.define('foo', {
citytaxreference_skey: Sequelize.INTEGER,
city: Sequelize.STRING,
property_tax_rate: Sequelize.NUMERIC,
minimum_property_tax: Sequelize.INTEGER,
}, {
tableName: 'retail_lending.city_tax_reference',
timestamps: false,
});

CityTax.findAll({
attributes: ['citytaxreference_skey', 'city']
}).then((project) => {
console.log(project);
});

quoteIdentifiers имеет значение false при установлении соединения

Что вы ожидаете получить?

_ Ожидается, что модель выполнит запрос SELECT citytaxreference_skey, city FROM retail_lending.city_tax_reference AS foo за кулисами. Вышезапрос работает в командной строке postgres

Что на самом деле происходит?

модель использует SELECT citytaxreference_skey, city FROM "retail_lending.city_tax_reference" AS foo вышеупомянутый запрос не работает в командной строке postgres, так как имя таблицы заключено в кавычки

Вывод: Unhandled rejection SequelizeDatabaseError: relation "retail_lending.city_tax_reference" does not exist

Диалект: postgres Версия диалекта: не уверен (размещен онлайн) Версия базы данных: не уверен (размещен онлайн) Sequelize версия: 4.39.0 Протестировано с последним выпуском: Да, 4.39.0

Решение было бы замечательно, если есть какие-либо благодарности

1 Ответ

0 голосов
/ 18 октября 2018

Существует свойство, называемое схемой, которое вы добавляете при определении модели, подобной этой

    const CityTax = this.config.define('foo', {
    citytaxreference_skey: Sequelize.INTEGER,
    city: Sequelize.STRING,
    property_tax_rate: Sequelize.NUMERIC,
    minimum_property_tax: Sequelize.INTEGER,
    }, {
    tableName: 'city_tax_reference',
    timestamps: false,
    schema:'retail_lending'
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...