Knex.js
概要
DML
insert
javascript await knex.insert([
{ id: 1, name: 'hoge' },
{ id: 2, name: 'fuga' },
]).into('users');
DDL
テーブルの作成
javascriptawait knex.schema.createTable(tableName, t => {
t.increments('id').primary();
t.string('name', lengthOfNameColumn).notNullable();
t.integer('user_id').notNullable();
t.foreign('user_id').references('id').inTable('users');
});
マイグレーション
1. knexfileを生成する。
$ knex init
migrate:up v0.17.0~
migrate:down v0.17.1~
ロギング
Knexのインスタンス生成時に debug
オプションを指定します
javascriptconst KnexFactory = require('knex');
const knex = KnexFactory({
client: 'sqlite3',
...
debug: true,
});
上記のように設定しておくと、全てのクエリの実行時にログが出力されます
特定のクエリを実行する際のみロギングを有効/無効化する。
javascriptawait knex.insert([
{ id: 1, name: 'hoge' },
{ id: 2, name: 'fuga' },
]).into('users').debug(true);
debug
メソッドを利用することで、ロギングの有効/無効を制御できます