javascript – 这可以使用bookshelf.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

但我的数据库中没有一个变化.任何想法我怎么能让它工作?

最佳答案 使用.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');
    });
  });
};
点赞