Coverage for watcher/db/sqlalchemy/alembic/versions/a86240e89a29_.py: 54%

22 statements  

« prev     ^ index     » next       coverage.py v7.8.2, created at 2025-06-17 12:22 +0000

1"""Set name for Audit as part of backward compatibility 

2 

3Revision ID: a86240e89a29 

4Revises: 3cfc94cecf4e 

5Create Date: 2017-12-21 13:00:09.278587 

6 

7""" 

8 

9# revision identifiers, used by Alembic. 

10revision = 'a86240e89a29' 

11down_revision = '3cfc94cecf4e' 

12 

13from alembic import op 

14from sqlalchemy.orm import sessionmaker 

15from watcher.db.sqlalchemy import models 

16 

17 

18def upgrade(): 

19 connection = op.get_bind() 

20 session = sessionmaker() 

21 s = session(bind=connection) 

22 audits = s.query( 

23 models.Audit.strategy_id.label('strategy_id'), 

24 models.Audit.created_at.label('created_at')).filter( 

25 models.Audit.name is None).all() 

26 for audit in audits: 26 ↛ 27line 26 didn't jump to line 27 because the loop on line 26 never started

27 strategy_name = s.query(models.Strategy).filter_by( 

28 id=audit.strategy_id).one().name 

29 s.query().filter(models.Audit.name is None).update( 

30 {'name': strategy_name + '-' + str(audit.created_at)}) 

31 s.commit() 

32 

33 

34def downgrade(): 

35 connection = op.get_bind() 

36 session = sessionmaker() 

37 s = session(bind=connection) 

38 audits = s.query( 

39 models.Audit.strategy_id.label('strategy_id'), 

40 models.Audit.created_at.label('created_at')).filter( 

41 models.Audit.name is not None).all() 

42 for audit in audits: 

43 s.query().filter(models.Audit.name is not None).update( 

44 {'name': None}) 

45 s.commit()