use*_*866 3 database sqlite node.js bookshelf.js
如何使用bookshelf.js创建一个新的sqlite3数据库文件?如果db file存在,请连接到它; 如果db file不存在,请创建新的db文件.
谢谢
引擎盖下,bookshelf使用knex(这在目前的版本中,你必须明确地使用实例).
如果将客户端设置为sqlite3选项,并在connection对象(属性filename)中指定有效路径,则它将根据需要进行连接或创建(请注意:假设您已对文件目标进行读/写).
不仅仅创建数据库文件的原因是您必须先进行写入 - 因此请尝试创建模式(knex模式构建器).然后你应该看到文件已经创建.
更明确一点 - 这就是你要找的东西:
var path = require('path')
, fs = require('fs')
, knex = require('knex')
, bookshelf = require('bookshelf')
, dbFile = path.join(__dirname, 'app.db')
, db = null // bookshelf db instance
// init db
db = bookshelf(knex({
client: 'sqlite3'
, connection: { filename: dbFile }
}))
// create a schema if no db found
fs.exists(dbFile, function(exists) {
if (!exists) {
db.knex.schema.createTable('test_table', function(table) {
table.increments()
table.string('some_col')
})
}
})
// ... do other stuff here ...
Run Code Online (Sandbox Code Playgroud)