2013-09-09 1 views
0

Я использую Grails 2.2.4 и базу данных mysql, а также database-migration plugin.Миграция базы данных с отметкой времени в Grails

Для данного класса, который является стойким в базе данных:

class User { 
    String name 
} 

Затем я добавил:

Date lastUpdated 

и сделал:

grails dbm-gorm-diff 2013-09-09-lastUpdated.groovy -add 
grails dbm-update 

Но когда я смотрю в моей базе данных Я могу видеть 0000-00-00 00:00:00

Как получить действительную дату, например, новую дату() в качестве значения по умолчанию?

ответ

-1

Попробуйте установить autoTimestamp (это может быть ложным по умолчанию):

static mapping = { 
    autoTimestamp true 
    ... 
} 

Или просто использовать BeforeUpdate:

def beforeUpdate() { 
    lastUpdated = new Date() 
} 
+0

Это не работает в LastUpdated еще 0000-00-00 00: 00:00 во всех существующих рядах. – confile

+0

Попробуйте 'def beforeInsert()', если вам нужно заполнить поле lastUpdated при создании нового 'User'. – rxn1d

+0

Я пробовал обе свои идеи, но оба не работают – confile