У меня есть столбец в ревизии alembic для update_time, чтобы показать, когда Column обновлен.
В настоящее время я пробовал:
sa.Column('update_time', sa.dialects.mysql.DATETIME(fsp=3),
nullable=False, server_default=str(datetime.utcnow()),
onupdate=str(datetime.utcnow()), server_onupdate=str(datetime.utcnow()))
Я также пробовал:
sa.Column('test_time', sa.DateTime(), server_default=sa.func.now(),
server_onupdate=sa.func.now(), onupdate=sa.func.now())
Когда база данных построена, время utcnow() прекращается как DateTime.
Однако, когда я обновляю столбец через командную строку в mysql, столбец остается той же самой отметкой времени.
Как получить временную метку для обновления?
Получил его работу с:
from sqlalchemy import text
from sqlalchemy.dialects.mysql import TIMESTAMP
sa.Column('update_time', TIMESTAMP(), nullable=False,
server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')),