temps de mise à jour SQL Alchemy ne fonctionne pas dans la révision Alambic

voix
0

J'ai une colonne dans une révision pour alembic update_time pour montrer lorsque la colonne est mise à jour.

Actuellement, j'ai essayé:

        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()))

J'ai aussi essayé:

        sa.Column('test_time', sa.DateTime(), server_default=sa.func.now(),
        server_onupdate=sa.func.now(), onupdate=sa.func.now())

Lorsque la base de données est construite est obtient le temps utcnow () bien en tant que DateTime.

Cependant, quand je mets à jour la colonne via la ligne de commande dans une base MySQL, la colonne reste le même horodatage.

Comment puis-je obtenir l'horodatage de mise à jour?

Créé 19/09/2018 à 13:20
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Got it travailler avec:

        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')),
Créé 19/09/2018 à 15:58
source utilisateur

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