Для выполнения SQL-запросов в Node.js с использованием Knex.js вам понадобится следующая подготовка:
1. Установите Knex и драйвер базы данных, который вы собираетесь использовать. Например, для использования с PostgreSQL установите pg
:
npm install knex pg
2. Создайте файл конфигурации для подключения к базе данных. Обычно он называется knexfile.js
и находится в корне вашего проекта. В файле конфигурации, укажите параметры подключения к вашей базе данных, такие как хост, порт, имя пользователя, пароль и имя базы данных.
// knexfile.js module.exports = { development: { client: 'pg', connection: { host: 'localhost', port: 5432, user: 'username', password: 'password', database: 'database_name' }, migrations: { directory: __dirname + '/db/migrations' }, seeds: { directory: __dirname + '/db/seeds' } }, // другие конфигурации (такие как для production и testing) могут быть добавлены здесь };
3. Создайте файл миграции, чтобы создать новую таблицу в базе данных (если она еще не существует) или изменить существующую таблицу согласно вашему SQL-запросу. Миграции позволяют управлять структурой базы данных с помощью кода. Вы можете создать новую миграцию с помощью команды knex migrate:make migration_name
.
// db/migrations/migration_name.js exports.up = function(knex) { return knex.schema.createTable('table_name', function(table) { table.increments('id').primary(); table.string('name'); // другие столбцы таблицы }); }; exports.down = function(knex) { return knex.schema.dropTableIfExists('table_name'); };
4. Запустите миграции, чтобы применить изменения в базе данных используя команду knex migrate:latest
. Если у вас уже есть таблица, которая соответствует вашему SQL-запросу, миграция будет пропущена, но если таблицы не существует, она будет создана.
5. Теперь вы можете выполнить ваш SQL-запрос с помощью Knex.js. Создайте отдельный файл (например, queries.js
), в котором будете писать запросы к базе данных.
// queries.js const knex = require('knex'); const config = require('./knexfile'); // Инициализируем Knex с использованием текущей среды (development, production, testing). const connection = knex(config[process.env.NODE_ENV]); // Выполняем SQL-запрос с помощью Knex. connection.raw('SELECT * FROM table_name') .then((result) => { console.log(result.rows); }) .catch((error) => { console.error(error); }) .finally(() => { // Закрываем соединение с базой данных после выполнения запроса. connection.destroy(); });
6. Запустите ваш код с помощью node queries.js
и вы получите результат выполнения вашего SQL-запроса.
Теперь вы знаете, как выполнить SQL-запрос с помощью Knex.js в Node.js. Удачи в разработке!