knex — очень полезный инструмент в Node.js, который используется для запроса данных в реляционных базах данных, таких как PostgreSQL и MySQL. После установки knex с помощью npm install knex — save
вместе с установкой указанной системы баз данных запуск команды knex init
автоматически создаст knexfile. Здесь пользователь может увидеть, какая система управления базой данных используется и как называется база данных как для разработки, так и для производства.
knex похож на Rails тем, что вы можете запускать миграции для обновления и создания схем для ваших таблиц. Если вы измените схему таблицы, вам нужно будет запустить knex migrate:rollback
, а затем knex migrate:latest
, чтобы выполнить обновление до последней миграции. Что хорошего в knex по сравнению с Rails, так это то, что вы можете просто вводить изменения в саму схему вместо того, чтобы вводить команду, например rails g migration AddRowToTable row:string
, а затем выполнять ее миграцию. Это проще, чем в Джанго.
Вы также можете заполнить базу данных с помощью knex, что означает, что вы можете создавать записи на основе достоверных данных. Синтаксис очень прост. Вы начинаете с удаления записей, которые в настоящее время находятся в базе данных (если это ваша цель), с помощью:
exports.seed = function(knex) { return knex.('table-name').del()
И он возвращает обещание, так что вы можете добавить остальную часть функции seed в .then
:
.then(function() { return knex('table-name').insert([ {key: value, key: value}, {key: value, key: value}, {key: value, key: value} ]) }) }
а затем запуск начального файла knex с помощью команды knex seed:run
запустит эту начальную функцию и заполнит базу данных.
В knex docs гораздо больше команд и инструментов, но это очень простой инструмент, особенно после опыта работы с Rails.