root / snf-pithos-backend / pithos / backends / lib / sqlalchemy / alembic / versions / 3dd56e750a3_fix_latest_version.py @ ca7812eb
History | View | Annotate | Download (836 Bytes)
1 | ca7812eb | Sofia Papagiannaki | """Fix latest_version
|
---|---|---|---|
2 | ca7812eb | Sofia Papagiannaki |
|
3 | ca7812eb | Sofia Papagiannaki | Revision ID: 3dd56e750a3
|
4 | ca7812eb | Sofia Papagiannaki | Revises: 230f8ce9c90f
|
5 | ca7812eb | Sofia Papagiannaki | Create Date: 2012-07-19 14:36:24.242310
|
6 | ca7812eb | Sofia Papagiannaki |
|
7 | ca7812eb | Sofia Papagiannaki | """
|
8 | ca7812eb | Sofia Papagiannaki | |
9 | ca7812eb | Sofia Papagiannaki | # revision identifiers, used by Alembic.
|
10 | ca7812eb | Sofia Papagiannaki | revision = '3dd56e750a3'
|
11 | ca7812eb | Sofia Papagiannaki | down_revision = '230f8ce9c90f'
|
12 | ca7812eb | Sofia Papagiannaki | |
13 | ca7812eb | Sofia Papagiannaki | from alembic import op |
14 | ca7812eb | Sofia Papagiannaki | import sqlalchemy as sa |
15 | ca7812eb | Sofia Papagiannaki | from sqlalchemy.sql import table, column |
16 | ca7812eb | Sofia Papagiannaki | from sqlalchemy.sql.expression import desc |
17 | ca7812eb | Sofia Papagiannaki | |
18 | ca7812eb | Sofia Papagiannaki | def upgrade(): |
19 | ca7812eb | Sofia Papagiannaki | n = table('nodes',
|
20 | ca7812eb | Sofia Papagiannaki | column('node', sa.Integer),
|
21 | ca7812eb | Sofia Papagiannaki | column('latest_version', sa.Integer)
|
22 | ca7812eb | Sofia Papagiannaki | ) |
23 | ca7812eb | Sofia Papagiannaki | v = table('versions',
|
24 | ca7812eb | Sofia Papagiannaki | column('node', sa.Integer),
|
25 | ca7812eb | Sofia Papagiannaki | column('mtime', sa.Integer),
|
26 | ca7812eb | Sofia Papagiannaki | column('serial', sa.Integer),
|
27 | ca7812eb | Sofia Papagiannaki | ) |
28 | ca7812eb | Sofia Papagiannaki | |
29 | ca7812eb | Sofia Papagiannaki | s = sa.select([v.c.serial]).where(n.c.node == v.c.node).order_by(desc(v.c.mtime)).limit(1)
|
30 | ca7812eb | Sofia Papagiannaki | op.execute( |
31 | ca7812eb | Sofia Papagiannaki | n.update().\ |
32 | ca7812eb | Sofia Papagiannaki | values({'latest_version':s})
|
33 | ca7812eb | Sofia Papagiannaki | ) |
34 | ca7812eb | Sofia Papagiannaki | |
35 | ca7812eb | Sofia Papagiannaki | |
36 | ca7812eb | Sofia Papagiannaki | def downgrade(): |
37 | ca7812eb | Sofia Papagiannaki | pass |