这可以使用bookshelf.js进行迁移吗?

时间:2015-11-09 18:11:13

标签: javascript node.js express bookshelf.js knex.js

我正在尝试使用knex和bookshelf进行迁移,到目前为止,这是我的代码,它是书架文档中的一个示例:

exports.up = function(knex, Promise) {
  return knex.schema.createTable('books', function(table) {
    table.increments('id').primary();
    table.string('name');
  }).createTable('summaries', function(table) {
    table.increments('id').primary();
    table.string('details');
    table.integer('book_id').unique().references('books.id');
  });
};

我试过跑:

knex migrate:make my_migration_name
knex migrate:latest
knex migrate:rollback

但我的数据库中没有一次更改。任何想法我怎么能让它运作?

1 个答案:

答案 0 :(得分:2)

使用.then()创建一系列承诺:

exports.up = function(knex, Promise) {
  return knex.schema.createTable('books', function(table) {
    table.increments('id').primary();
    table.string('name');
  }).then(function() {
    return createTable('summaries', function(table) {
      table.increments('id').primary();
      table.string('details');
      table.integer('book_id').unique().references('books.id');
    });
  });
};