Knex Query Builder: подробное руководство по работе с базой данных в Node.js

Чтобы инициализировать Knex, вам необходимо выполнить несколько шагов. Knex — популярный конструктор запросов для Node.js, который позволяет взаимодействовать с базами данных с помощью JavaScript. Вот как вы можете инициализировать Knex и использовать его для выполнения операций с базой данных:

Шаг 1. Установите Knex
Во-первых, вам необходимо установить Knex в качестве зависимости в вашем проекте Node.js. Откройте терминал и выполните следующую команду:

npm install knex

Шаг 2. Установите драйвер базы данных
Knex поддерживает различные драйверы баз данных. Вам необходимо установить соответствующий драйвер для вашей базы данных. Например, если вы используете PostgreSQL, выполните следующую команду:

npm install pg

Шаг 3. Создайте экземпляр Knex
Чтобы начать использовать Knex, вам необходимо создать экземпляр Knex и настроить его, указав данные подключения к вашей базе данных. Вот пример того, как создать экземпляр Knex для базы данных PostgreSQL:

const knex = require('knex')({
  client: 'pg',
  connection: {
    host: 'your_database_host',
    user: 'your_username',
    password: 'your_password',
    database: 'your_database_name',
  },
});

Шаг 4. Выполнение операций с базой данных
После того, как у вас появится экземпляр Knex, вы сможете использовать его для выполнения различных операций с базой данных, таких как создание таблиц, вставка данных, обновление данных, запрос данных и т. д. Вот несколько примеров:

Пример 1. Создание таблицы:

knex.schema.createTable('users', function (table) {
  table.increments('id');
  table.string('name');
  table.string('email').unique();
  table.timestamps();
})
  .then(() => {
    console.log('Table created successfully');
  })
  .catch((err) => {
    console.error('Error creating table:', err);
  });

Пример 2. Запрос данных:

knex('users')
  .select('name', 'email')
  .where('id', '=', 1)
  .then((rows) => {
    console.log(rows);
  })
  .catch((err) => {
    console.error('Error querying data:', err);
  });

Пример 3. Вставка данных:

knex('users')
  .insert({ name: 'John Doe', email: 'john@example.com' })
  .then(() => {
    console.log('Data inserted successfully');
  })
  .catch((err) => {
    console.error('Error inserting data:', err);
  });

Это всего лишь несколько примеров того, что вы можете сделать с Knex. Он предоставляет широкий набор методов и функций для работы с базами данных.