exports.up = async function(knex) {
knex.schema.alterTable('posts', (t) => {
t.timestamps(true, true)
})
}
exports.down = async function(knex) {
knex.schema.alterTable('posts', (t) => {
t.dropTimestamps()
})
}根据文档,这将创建一个created_at和updated_at列。
但事实并非如此。
如何使用Knex创建这些列。
发布于 2019-06-22 21:15:59
您没有执行架构构建器。添加等待或从迁移处理程序返回您的架构构建器。
exports.up = async function(knex) {
return knex.schema.alterTable('posts', (t) => {
t.timestamps(true, true)
})
}
exports.down = async function(knex) {
return knex.schema.alterTable('posts', (t) => {
t.dropTimestamps()
})
}在@valem的注释后编辑
如果不使用async / await,上面的代码与此相当:
exports.up = function(knex) {
return Promise.resolve(knex.schema.alterTable('posts', (t) => {
t.timestamps(true, true);
}));
}
exports.down = function(knex) {
return Promise.resolve(knex.schema.alterTable('posts', (t) => {
t.dropTimestamps();
}));
}发布于 2020-02-26 12:15:59
试试这个(适合我)
t.dropColumn('created_at');
t.dropColumn('updated_at');代替t.dropTimestamps();
https://stackoverflow.com/questions/56627221
复制相似问题