首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Knex迁移时间戳不是时间戳

Knex迁移时间戳不是时间戳
EN

Stack Overflow用户
提问于 2019-06-17 16:09:18
回答 2查看 148关注 0票数 0
代码语言:javascript
复制
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创建这些列。

EN

回答 2

Stack Overflow用户

发布于 2019-06-22 21:15:59

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

代码语言:javascript
复制
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,上面的代码与此相当:

代码语言:javascript
复制
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();
  }));
}
票数 1
EN

Stack Overflow用户

发布于 2020-02-26 12:15:59

试试这个(适合我)

代码语言:javascript
复制
t.dropColumn('created_at');
t.dropColumn('updated_at');

代替t.dropTimestamps();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56627221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档