Действительно новый для node.js и относительно новый для PostgreSQL. По какой-то причине это создает только первую таблицу, а не вторую. Вероятно, я полностью ошибаюсь. Кажется, я не могу найти примеры кода, которые достаточно похожи, чтобы экстраполировать ответ. Я хочу создать две таблицы. Кажется, я могу запустить только один запрос, и все. Больше не надо. Предполагается, что мое соединение закончится до того, как будет выполнено второе. Я не знаю почему. Я не могу найти ни одного примера этого в десятках различных поисковых запросов Google.Как я могу выполнить несколько запросов (построить БД) в Node.JS?
var client = new pg.Client(connectionString);
client.connect();
var query = client.query('CREATE TABLE preferences(id SERIAL PRIMARY KEY, food VARCHAR(40) not null, preferred BOOLEAN)');
client.query('CREATE TABLE foods(id SERIAL PRIMARY KEY, food VARCHAR(40) not null, type VARCHAR(40) not null, spicy BOOLEAN, spiciness VARCHAR(10)');
query.on('end', function() { client.end(); });
У меня были сомнения, что я мог бы просто сделать еще один client.query и завершить все это в конце. Я взял этот пример из учебника, но добавила вторую таблицу. Поэтому я просто играю с этим и пытаюсь учиться здесь с этим тестом.
Просто для того, чтобы заявить о своей конечной конечной цели: я хочу в конечном итоге создать целый сценарий для создания базы данных, полной полной всех необходимых таблиц и данных.
Ошибки я получаю независимо от того, что я пытаюсь:
$ узловые моделей/database.js events.js: 85 броска эр; // Ошибка Unhandled 'error ^ Ошибка: синтаксическая ошибка в конце ввода в Connection.parseE (~/Documents/test01/node_modules/pg/lib/connection.js: 534: 11) at Connection.parseMessage (~/Documents/test01/node_modules/pg/lib/connection.js: 361: 17) у Socket. (~/Documents/test01/node_modules/pg/lib/connection.js: 105: 22) на Socket.emit (events.js: 107: 17) на readableAddChunk (_stream_readable.js: 163: 16) на Socket .Readable.push (_stream_readable.js: 126: 10) at TCP.onread (net.js: 538: 20)
Вы только ждали окончания одного из них, а не другого, так что вы, скорее всего, закончили соединение преждевременно. –
Из того, что я собрал (уроки там ужасные), request.on ('end' ... part завершает соединение с db.Он получает бросок; // Необработанное событие «error» в ответе. На данный момент я все еще очень смущен. –
'query.on (type, handler)' добавляет обработчик событий для переданного типа, «end» в этом случае. Когда это событие возникает для запроса, к которому вы его привязывали, срабатывает обработчик. Поэтому обработчик запускается, когда первый запрос завершен, что, вероятно, до завершения второго. –