Время обновления SQL Alchemy не работает в ревизии Alembic

0

У меня есть столбец в ревизии 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, столбец остается той же самой отметкой времени.

Как получить временную метку для обновления?

Теги:
sqlalchemy
alembic

1 ответ

0
Лучший ответ

Получил его работу с:

        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')),

Ещё вопросы

Сообщество Overcoder
Наверх
Меню