Revision d50ed8d4 snf-pithos-backend/pithos/backends/lib/sqlalchemy/alembic/versions/230f8ce9c90f_alter_nodes_add_colu.py

b/snf-pithos-backend/pithos/backends/lib/sqlalchemy/alembic/versions/230f8ce9c90f_alter_nodes_add_colu.py
16 16

  
17 17
import sqlalchemy as sa
18 18

  
19

  
19 20
def upgrade():
20 21
    op.add_column('nodes', sa.Column('latest_version', sa.INTEGER))
21
    
22
    n = table('nodes', 
23
        column('node', sa.Integer),
24
        column('latest_version', sa.Integer)
25
    )
26
    v = table('versions', 
27
        column('node', sa.Integer),
28
        column('mtime', sa.Integer),
29
        column('serial', sa.Integer),
30
    )
31
    
32
    s = sa.select([v.c.serial]).where(n.c.node == v.c.node).order_by(v.c.mtime).limit(1)
22

  
23
    n = table('nodes',
24
              column('node', sa.Integer),
25
              column('latest_version', sa.Integer)
26
              )
27
    v = table('versions',
28
              column('node', sa.Integer),
29
              column('mtime', sa.Integer),
30
              column('serial', sa.Integer),
31
              )
32

  
33
    s = sa.select(
34
        [v.c.serial]).where(n.c.node == v.c.node).order_by(v.c.mtime).limit(1)
33 35
    op.execute(
34
        n.update().\
35
            values({'latest_version':s})
36
            )
36
        n.update().
37
        values({'latest_version': s})
38
    )
39

  
37 40

  
38 41
def downgrade():
39 42
    op.drop_column('nodes', 'latest_version')

Also available in: Unified diff