Создать таблицу с использованием PostgreSQL - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь создать таблицу с использованием PostgreSQL.Код выше корректно аутентифицируется.Проблема, с которой я сейчас сталкиваюсь, заключается в том, как правильно создать таблицу «устройства» и записать в нее данные.

const Sequelize =  require('sequelize');
const env = require('./config');

sequelize =  new Sequelize({
    database: '******',
    dialect: 'postgres',
    username: '********',
    password: '******',
    host: '********',
    port: 3211
});

sequelize.authenticate().then(() => {
console.log("Connected to DB");
})
.catch((err) => {
console.log(err);
})

function insertIntoPostgres(filename, data) {

var fileToCreate = 
`/${env.azurePG.data_store_pg.folder}/${filename}.json`;
var options = {
    streamContents: new Buffer(JSON.stringify(data))

}

filesystemClient.fileSystem.create(env.azurePG.data_store_pg.account_name_pg, fileToCreate, options)
    .then(res => {})
    .catch(err => {
        console.log("error inserting into postgres: ", err);
    });
};
// Export the above methods
module.exports = {
insertIntoPostgres
}

Вот часть моего кода, которая, на мой взгляд, неверна из приведенного выше кода:

filesystemClient.fileSystem.create(env.azurePG.data_store_pg.account_name_pg, fileToCreate, options)
.then(res => {})
.catch(err => {
    console.log("error inserting into postgres: ", err);
});
};

my config.js

module.exports = {
PGDATABASE : "******",
PGPORT : 3211,
azurePG : {
  PGUSER : "*******",
  PGHOST : "********",
  PGPASSWORD : "*******",
  data_store_pg : {
    account_name_pg : "********",
    folder : "devices"
  }
}
};

Есть идеи, где проблема?

1 Ответ

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

Сначала нужно создать таблицу, а затем запустить код для заполнения таблицы.Я хотел бы взглянуть на набор данных, с которым вы работаете, чтобы получить представление об именах полей и типах данных, а затем выполнить что-то вроде этого:

CREATE TABLE devices(
    id serial PRIMARY KEY,
    name TEXT NOT NULL,
    otherfield TEXT NOT NULL
);

Я не уверен, что выпытаясь создать полный автоматизированный цикл создания таблицы и ее заполнения, но вы можете просто перейти к postgres и запустить код создания таблицы в терминале или любом другом инструменте управления базой данных, который вы используете.После того, как таблица создана, вы должны быть таблицей для запуска приведенного ниже кода, чтобы убедиться, что она была создана правильно:

SELECT * FROM devices

Она должна вернуться с пустой таблицей со всеми указанными вами столбцами.Если все это хорошо, запустите ваш код, который заполняет таблицу.Должно работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...