Я разрабатываю проект nodejs с postgresql-db .Я создал схему для БД с некоторыми таблицами, и теперь я создал файл с некоторыми подготовленными данными (несколько строк) для вставки.Для этого я следовал инструкциям этой записи: Многострочная вставка с pg-обещанием .
Проблема в том, что я получаю следующую ошибку: {error: ratio "tenantx.ObjectGroup "не существует ... но существует.Я также вижу, что из моего API, когда я хочу прочитать содержимое таблицы, он возвращает пустой объект.Может ли объявление "schema.table" быть причиной?
Код для подготовленных данных выглядит следующим образом:
'use strict';
const pgp = require('pg-promise')({
// Initialization Options
});
const csObjectGroup = new pgp.helpers.ColumnSet(['objectgroup', 'description'], {
table: 'tenantx.ObjectGroup'
});
// data input values:
const valuesObjectGroup = [{
objectgroup: 'bla',
description: 'bla'
}, {
objectgroup: 'blu',
description: 'blu'
}, {
objectgroup: 'bla',
description: 'bla'
}];
module.exports = {
csObjectGroup: csObjectGroup,
valuesObjectGroup: valuesObjectGroup
}
И код, который вызывается из API для настройки содержимого:// вставить подготовленные данные в таблицы
function initializeData(pTenantId, dbUri) {
var dbPostgres = dbUri;
const datafile = require("./../Data/data_" + pTenantId);
var statements = [];
var valuesObjectGroup = datafile.valuesObjectGroup;
var csObjectGroup = datafile.csObjectGroup;
statements.push(valuesObjectGroup, csObjectGroup);
var i, query;
for (i = 0; i < statements.length - 1; i += 2) {
query = pgp.helpers.insert(statements[i], statements[i + 1]);
dbPostgres.none(query)
.then(data => {
console.log("+++++ Data successfully initialized.");
})
.catch(err => {
console.log("----- Data could not be initialized.");
console.log(err);
});
}
return true;
}
Я создал таблицу из этого:
const createObjectGroupTable =
'CREATE TABLE IF NOT EXISTS tenantx.ObjectGroup \
( \
id serial, \
objectgroup varchar(50), \
description varchar(100), \
PRIMARY KEY (id) \
)';