Knex迁移时间戳未加盖时间戳

时间:2019-06-17 08:09:17

标签: knex.js

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_atupdated_at列。

但事实并非如此。

如何使用Knex创建这些列。

2 个答案:

答案 0 :(得分:0)

您没有执行架构生成器。添加等待或从迁移处理程序返回架构生成器。

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()
  })
}

答案 1 :(得分:0)

尝试一下(对我有用)

t.dropColumn('created_at');
t.dropColumn('updated_at');

代替t.dropTimestamps();