Statistics
| Branch: | Tag: | Revision:

root / snf-pithos-backend / pithos / backends / lib / sqlalchemy / alembic / versions / 230f8ce9c90f_alter_nodes_add_colu.py @ 2715ade4

History | View | Annotate | Download (987 Bytes)

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

    
20
def upgrade():
21
    op.add_column('nodes', sa.Column('latest_version', sa.INTEGER))
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)
35
    op.execute(
36
        n.update().
37
        values({'latest_version': s})
38
    )
39

    
40

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