Merge branch 'master' of https://code.grnet.gr/git/pithos
[pithos] / snf-pithos-backend / pithos / backends / lib / sqlalchemy / alembic / versions / 230f8ce9c90f_alter_nodes_add_colu.py
1 """alter nodes add column latest version
2
3 Revision ID: 230f8ce9c90f
4 Revises: 8320b1c62d9
5 Create Date: 2012-07-17 20:32:54.466145
6
7 """
8
9 # revision identifiers, used by Alembic.
10 revision = '230f8ce9c90f'
11 down_revision = '8320b1c62d9'
12
13 from alembic import op, context
14 from sqlalchemy.sql import table, column
15 from alembic import op
16
17 import sqlalchemy as sa
18
19 def upgrade():
20     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)
33     op.execute(
34         n.update().\
35             values({'latest_version':s})
36             )
37
38 def downgrade():
39     op.drop_column('nodes', 'latest_version')