knex v0.7.6,pg v4.3.0
任何人都可以解释为什么一个knex dropTable()后跟一个createTable()导致生成两个丢弃表?第二个sql“drop table”是在调用createTable()
时生成的代码
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: [] }
答案 0 :(得分: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
。