SQL Алхимия время обновления не работает в правке Alembic

голоса
0

У меня есть столбец в качестве Alembic пересмотра для update_time, чтобы показать, когда колонка обновляется.

В настоящее время я пробовал:

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

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

Задан 19/09/2018 в 13:20
источник пользователем
На других языках...                            


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')),
Ответил 19/09/2018 в 15:58
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more