@fxjs/knex
knex.js 是 node.js 生态中热门的 sql generator 库. 可以通过语义化的 API 生成 sql 语句.
@fxjs/knex
是对 knex.js 的移植. 基于 fibjs 的沙盒机制, 我们将 knex.js 2.3.0 的能力引入到了 fibjs 中.
Sample
var FibKnex = require("@fxjs/knex");
function getFibKnexInstance (driverType) {
switch (driverType) {
default:
break
case 'mysql':
driverType = 'mysql2'
break
case 'psql':
driverType = 'pg'
break
}
return FibKnex({
...opts,
client: driverType,
// useNullAsDefault: true
})
}
var sql = getFibKnexInstance('mysql').schema.createTable('users', function (table) {
table.increments();
table.string('name');
table.timestamps();
}).toString()
// => CREATE TABLE `users` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` VARCHAR(255), `created_at` DATETIME, `updated_at` DATETIME)
更多 knex 的使用可参考测试用例