0

Knex.js を使い始めようとしていますが、移行がうまくいかないようです。コマンドを実行するとknex migrate:latest、データベースにはknex_migrationsテーブルしかありません。

私は何か間違ったことをしていますか?

ネクスファイル

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

1 に答える 1

4

returnup 関数と down 関数の両方の最初の行に追加して、knex がknex.schema.*返す promise にアクセスできるようにします。その後、knex はこれを使用して移行の実行を調整できます。例えば:

exports.down = function(knex, Promise) {
  return knex.schema.dropTable('blog_posts')   
}
于 2015-03-23T02:24:01.627 に答える