【发布时间】:2017-12-31 18:44:37
【问题描述】:
从现有 MySQL 数据库生成书架模型对象的过程是什么?
examples on the Bookshelf.js site 显示几个模型对象...
var knex = require('knex')({client: 'mysql', connection:
process.env.MYSQL_DATABASE_CONNECTION });
var bookshelf = require('bookshelf')(knex);
var User = bookshelf.Model.extend({
tableName: 'users',
posts: function() {
return this.hasMany(Posts);
}
});
Knex.js site 与此最接近的是提及迁移。但是,使用它们的语法...
$ npm install -g knex
$ npm install knex --save
$ npm install mysql --save
$ knex init
$ knex migrate:make knextest
...只生成一个带有空函数的文件...
exports.up = function(knex, Promise) {
};
exports.down = function(knex, Promise) {
};
... 这是有道理的,因为 knex 不是 ORM。我想我最终来到这里是因为 Bookshelf 没有提到任何工具。
附带说明,我检查了我的knexfile.js 并确保它具有有效的配置:
development: {
client: 'mysql',
connection: {
host : 'localhost',
user : 'root',
password : 'oogaboogs',
database : 'knexdb'
}
},
这不可能吗?为现有数据库手动创建数千个模型对象真的很糟糕。
谢谢,提前。
【问题讨论】:
-
也许只需要写一个类似于stackoverflow.com/a/31119634/6702495的自动迁移函数
标签: bookshelf.js