javascript - 是否可以将迁移与 bookshelf.js 一起使用?

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

我正在尝试将迁移与 knex 和 bookshelf 结合使用,到目前为止,这就是我的代码,它是 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() 创建 promise 链:

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');
    });
  });
};

关于javascript - 是否可以将迁移与 bookshelf.js 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33615450/

相关文章:

node.js - Node 'readline' 如何检测当前行是文件中的最后一行

javascript - Express.Js、Node.Js、MongoDB 问题

javascript - 如何在 Node 博客应用程序中保留分页页面?

node.js - Express.js csrf token 与 jQuery Ajax

javascript - 使正文背景适合整个屏幕

javascript - 如何检查坐标对(纬度和经度)是否靠近 Google map 上的主干道或高速公路?

javascript - 在nodejs中使用wait.for暂停非阻塞文件读取

node.js - 使用 Node.js 更好的方式来 require.extensions

javascript - 基于最小值和最大值的新数组

php - jQuery 对话框下拉