2016-04-08 11 views
1

Ich baue eine App verwenden Knoten + express + postgresql + knexjs ORM. Ich versuche, eine Migration zu laufen:knexjs postgresql Migration läuft nicht richtig

knex migrate:latest

Aber meine Konsole hält Rückkehr:

Using environment: development

Already up to date

Und dies führt in meinen Tabellen nicht erstellt werden .. Hier Meine Migrationsdatei:

exports.up = function(knex, Promise) { 

    return Promise.all([ 

      knex.schema.createTable('address', function(table) { 

       table.increments(); 
       table.string('address_id'); 
       table.string('addr_1'); 
       table.string('addr_2'); 
       table.string('city'); 
       table.string('state'); 
       table.string('zip'); 

     ]); 
}; 


exports.down = function(knex, Promise) { 

    return Promise.all([ 

      knex.schema.dropTable(host_domain + '.address'), 

     ]); 

}; 

Weiß jemand, was passieren könnte?

Hinweis - die Tabellen wurden im Moment nicht erstellt knex migrate:latest.

Vielen Dank im Voraus!

+0

Was sind die Inhalte der 'knex_migrations' Tabelle? Dort verfolgt Knex, welche Migrationen angewendet wurden. Ist Ihre Migrationsdatei bereits vorhanden? – Gangstead

+0

Es gibt keine Migrationstabelle. Es gibt überhaupt keinen Tisch –

+0

10 Klingt wie die Migrationen sind nicht eingerichtet. Kannst du deine Knexdatei posten? – Gangstead

Antwort

1

Knex implementieren Migrationen in Umgebung = Entwicklung standardmäßig. Sie müssen Knex-Migrationen nach Ihrer Umgebung ausführen.

Beispiel: Sie haben neben knexfile.js:

module.exports = { 
    myenv: { // it is name of environment 
     client: 'pg', 
     connection: { 
      user: 'me', 
      database: 'my_app' 
     } 
    } 
}; 

Befehl in der Konsole:

knex migrate:latest --env myenv