AdonisJS 没有时间戳的默认值
AdonisJS no default values for timestamps
我已经创建了带有时间戳的基本模式,但是当我在播种机中插入 table 时,列 created_at 和 updated_at 为空,但基于 Knex.js文档我认为如果没有指定它应该是当前日期时间。
最新的 adonis 库,数据库:mysql 5.7.
我的架构
'use strict'
const Schema = use('Schema')
class UserSchema extends Schema {
up () {
this.create('users', (table) => {
table.increments()
table.string('name')
table.timestamps()
})
}
down () {
this.drop('users')
}
}
module.exports = UserSchema
我的播种机
'use strict'
const Factory = use('Factory')
const Database = use('Database')
class UserSeeder {
async run () {
await Database.table('users').insert({
name: 'JP',
})
}
}
module.exports = UserSeeder
我发现时间戳仅在使用模型时是默认的,但在直接使用数据库时不是。这个现在包含在文档中。如果它是数据库级别的默认设置,那就太好了。
时间戳仅适用于 LUCID ORM。您正在使用直接数据库。
在字段中设置您的 json,它将起作用:
await Database.table('users').insert({
name: 'JP',
created_at,: Database.fn.now(),
updated_at : Database.fn.now()
})
您应该添加时间戳参数,例如 useTimestampType 和 makeDefaultNow:
table.timestamps(true, true)
我已经创建了带有时间戳的基本模式,但是当我在播种机中插入 table 时,列 created_at 和 updated_at 为空,但基于 Knex.js文档我认为如果没有指定它应该是当前日期时间。
最新的 adonis 库,数据库:mysql 5.7.
我的架构
'use strict'
const Schema = use('Schema')
class UserSchema extends Schema {
up () {
this.create('users', (table) => {
table.increments()
table.string('name')
table.timestamps()
})
}
down () {
this.drop('users')
}
}
module.exports = UserSchema
我的播种机
'use strict'
const Factory = use('Factory')
const Database = use('Database')
class UserSeeder {
async run () {
await Database.table('users').insert({
name: 'JP',
})
}
}
module.exports = UserSeeder
我发现时间戳仅在使用模型时是默认的,但在直接使用数据库时不是。这个现在包含在文档中。如果它是数据库级别的默认设置,那就太好了。
时间戳仅适用于 LUCID ORM。您正在使用直接数据库。 在字段中设置您的 json,它将起作用:
await Database.table('users').insert({
name: 'JP',
created_at,: Database.fn.now(),
updated_at : Database.fn.now()
})
您应该添加时间戳参数,例如 useTimestampType 和 makeDefaultNow:
table.timestamps(true, true)