0

knex v0.7.6、pg v4.3.0

knex dropTable() の後に createTable() を実行すると、2 つのドロップ テーブルが生成される理由を説明できる人はいますか? createTable() の呼び出しで 2 番目の SQL「ドロップ テーブル」が生成されます。

コード

  return schema.dropTable('users')
    .then(function(){
      return schema.createTable('users',function(t){
        t.string('login').primary();
        t.json('data',true);});
    })

Knex デバッグ出力

    Table
{ __cid: '__cid1', sql: 'drop table "mytable"', bindings: [] }
{ __cid: '__cid2', sql: 'drop table "mytable"', bindings: [] }
4

1 に答える 1

0

私はこれをオンラインで読む必要がありましたが、これを試してください:

return knex.schema.dropTable(TableName).then(function(exists) {
  if (!exists) {
    return knex.schema.createTable(TableName, function(t) {
        t.string('login').primary().unique();
        t.json('data',true);});
    });
  }
});

私は何model.tableがわからない。必要に応じて、 に置き換えTableNameてみてくださいmodel.table

于 2015-04-19T01:24:52.173 に答える