Knex迁移不会创建任何内容

时间:2015-03-22 21:43:11

标签: javascript node.js postgresql knex.js

我试图开始使用Knex.js,我似乎无法进行任何迁移。当我运行命令knex migrate:latest时,数据库只有knex_migrations表。

我做错了吗?

Knexfile

module.exports = {
  development: {
    client: 'postgresql', //Also tried just 'pg'
    connection: {
      host: process.env.SERVER_HOST,
      user: process.env.SERVER_USER,
      password: process.env.SERVER_PASSWORD,
      database: 'mika_personal'
    }
  }
}

移植

'use strict'

exports.up = function(knex, Promise) {
  knex.schema.createTable('blog_posts', function(table) {
    table.increments('id').primary()

    table.string('name', 75)
      .index()
      .unique()
      .notNullable()

    table.text('content')
    table.integer('views') 

    table.timestamps()
  })
}

exports.down = function(knex, Promise) {
  knex.schema.dropTable('blog_posts')   
}

1 个答案:

答案 0 :(得分:3)

return添加到上下两个函数的第一行,以便knex可以访问knex.schema.*返回的承诺,然后knex可以使用它来协调执行迁移。例如:

exports.down = function(knex, Promise) {
  return knex.schema.dropTable('blog_posts')   
}