【问题标题】:Reverse Engineer Database with Bookshelf.JS?使用 Bookshelf.JS 逆向工程数据库?
【发布时间】: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'
  }
},

这不可能吗?为现有数据库手动创建数千个模型对象真的很糟糕。

谢谢,提前。

【问题讨论】:

标签: bookshelf.js


【解决方案1】:

您可以使用基于 Yeoman 的 generator-bookshelf

创建模型很简单:

$ yo bookshelf:model
? Table Name users
? idAttribute id
? Add a relationship? No

【讨论】:

    猜你喜欢
    • 2011-07-24
    • 2017-05-05
    • 2023-03-24
    • 2014-03-29
    • 1970-01-01
    • 2011-12-21
    • 2016-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多