从现有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'
}
},
这不可能吗?对于现有数据库,手动创建数千个Model对象真的很糟糕。
提前谢谢。
答案 0 :(得分:0)
您可以使用基于Yeoman的generator-bookshelf。
创建模型非常简单:
$ yo bookshelf:model
? Table Name users
? idAttribute id
? Add a relationship? No