我正在使用 Knex.js (0.19.0
) 和 PostgreSQL(11-alpine
, pg@7.11.0
) 进行 REST 教程,并且在进行 PUT
请求并更新数据时,我发现 updatedAt
列不起作用。
目前这是我的 users
表:
// users_migration.js
exports.up = function(knex) {
return knex.schema.createTable('users', function(table) {
table
.increments('id')
.primary()
.unsigned();
table.string('firstName');
table
.string('lastName')
.index()
.notNullable();
table
.string('email')
.unique()
.index()
.notNullable();
table.string('password').notNullable();
table.string('role').defaultTo('STAFF');
table.boolean('isActive').defaultTo(false);
table.timestamp('createdAt').defaultTo(knex.fn.now());
table.timestamp('updatedAt').defaultTo(knex.fn.now());
});
};
我尝试过这个:
table.timestamp('createdAt').defaultTo(knex.raw('CURRENT_TIMESTAMP'));
table
.timestamp('updatedAt')
.defaultTo(knex.raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
但是它还是不起作用。
我该怎么让它起作用?请帮忙。
2022-01-22 03:25:28.464542+00
- Tim BogdanovDATETIME
字段而不是TIMESTAMP
,这可能是你所期望的? - cincodenada