root / snf-pithos-backend / pithos / backends / lib / sqlalchemy / alembic / versions / 3dd56e750a3_fix_latest_version.py @ f554bdb3
History | View | Annotate | Download (878 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 | 2715ade4 | Sofia Papagiannaki | |
19 | ca7812eb | Sofia Papagiannaki | def upgrade(): |
20 | 2715ade4 | Sofia Papagiannaki | n = table('nodes',
|
21 | 2715ade4 | Sofia Papagiannaki | column('node', sa.Integer),
|
22 | 2715ade4 | Sofia Papagiannaki | column('latest_version', sa.Integer)
|
23 | 2715ade4 | Sofia Papagiannaki | ) |
24 | 2715ade4 | Sofia Papagiannaki | v = table('versions',
|
25 | 2715ade4 | Sofia Papagiannaki | column('node', sa.Integer),
|
26 | 2715ade4 | Sofia Papagiannaki | column('mtime', sa.Integer),
|
27 | 2715ade4 | Sofia Papagiannaki | column('serial', sa.Integer),
|
28 | 2715ade4 | Sofia Papagiannaki | ) |
29 | 2715ade4 | Sofia Papagiannaki | |
30 | 2715ade4 | Sofia Papagiannaki | s = sa.select([v.c.serial]).where( |
31 | 2715ade4 | Sofia Papagiannaki | n.c.node == v.c.node).order_by(desc(v.c.mtime)).limit(1)
|
32 | ca7812eb | Sofia Papagiannaki | op.execute( |
33 | 2715ade4 | Sofia Papagiannaki | n.update(). |
34 | 2715ade4 | Sofia Papagiannaki | values({'latest_version': s})
|
35 | 2715ade4 | Sofia Papagiannaki | ) |
36 | ca7812eb | Sofia Papagiannaki | |
37 | ca7812eb | Sofia Papagiannaki | |
38 | ca7812eb | Sofia Papagiannaki | def downgrade(): |
39 | ca7812eb | Sofia Papagiannaki | pass |