Puede secuestrar el server_default para establecer también la actualización en:
Column('datemodified', TIMESTAMP,
server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'))
Esto genera la siguiente entrada de la columna:
datemodified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Sin embargo, la respuesta de MCHL sigue siendo válida: Sólo puede haber una columna TIMESTAMP automatizado en una tabla (http://dev.mysql.com/doc/refman/5.5/en/timestamp.html)
Tenga en cuenta también que el orden de la col umns es importante! Si usted tiene una columna TIMESTAMP sin DEFAULT y modificadores ON UPDATE, y es la primera columna TIMESTAMP en su mesa, automáticamente se ha establecido como predeterminado CURRENT_TIMESTAMP DE ACTUALIZACIÓN CURRENT_TIMESTAMP. (http://dev.mysql.com/doc/refman/5.5/en/timestamp.html)
Así que esto está muy bien:
Column('datemodified', TIMESTAMP,
server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'))
Column('datecreated', TIMESTAMP)
mientras que esto no es:
Column('datecreated', TIMESTAMP)
Column('datemodified', TIMESTAMP,
server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'))
Con el fin de establecer la `DateCreated' a la hora actual durante la primera entrada de una fila, simplemente establezca su valor explícitamente en NULL. Una vez más, desde http://dev.mysql.com/doc/refman/5.5/en/timestamp.html:
Por defecto, las columnas TIMESTAMP no son NULL, no puede contener NULL valores, y asignar NULL asigna la fecha y hora actual.
si voy a escribir 'user = Tabla ('usuarios', metadatos, columna ('DateCreated', DateTime), columna ('DateModified', fecha y hora, server_onupdate = texto ('CURRENT_TIMESTAMP')), ) ' Entonces, ¿funcionará para DEFAULT ON UPDATE CURRENT_TIMESTAMP? – Nilesh
Lo comprobé con este ejemplo pero no está configurado como DEFAULT ON UPDATE CURRENT_TIMESTAMP. cuando lo usamos para una sola columna. :( – Nilesh
Si esto no es posible, entonces también por favor hágamelo saber cómo puedo configurar el activador de actualización en sqlalchemy? – Nilesh