Revision 72e191e5 snf-pithos-backend/pithos/backends/lib/sqlalchemy/alembic/versions/27381099d477_alter_public_add_col.py

b/snf-pithos-backend/pithos/backends/lib/sqlalchemy/alembic/versions/27381099d477_alter_public_add_col.py
14 14
import sqlalchemy as sa
15 15

  
16 16
from pithos.backends.modular import ULTIMATE_ANSWER
17
from pithos.api.short_url import encode_url
18 17

  
19 18

  
20 19
def upgrade():
......
27 26
        sa.sql.column('public_id', sa.Integer),
28 27
        sa.sql.column('url', sa.String),
29 28
    )
30
    get_url = lambda x: encode_url(x + ULTIMATE_ANSWER)
31
    conn = op.get_bind()
32
    s = sa.select([p.c.public_id])
33
    rows = conn.execute(s).fetchall()
34
    for r in rows:
35
        s = p.update().values(url=get_url(r[0])).where(p.c.public_id == r[0])
36
        op.execute(s)
29

  
30
    try:
31
        from pithos.api.short_url import encode_url
32
    except ImportError:
33
        return
34
    else:
35
        get_url = lambda x: encode_url(x + ULTIMATE_ANSWER)
36
        conn = op.get_bind()
37
        s = sa.select([p.c.public_id])
38
        rows = conn.execute(s).fetchall()
39
        for r in rows:
40
            s = p.update().values(url=get_url(r[0])).where(
41
                p.c.public_id == r[0])
42
            op.execute(s)
37 43

  
38 44

  
39 45
def downgrade():

Also available in: Unified diff