Module bd0a15c7b6f_dont_require_fed_openid
|
|
1 """Do not require Fedora's OpenID in DB schema
2
3 Revision ID: bd0a15c7b6f
4 Revises: 5055336e8c44
5 Create Date: 2014-08-20 21:49:05.299819
6
7 """
8
9
10 revision = 'bd0a15c7b6f'
11 down_revision = '5055336e8c44'
12
13 from alembic import op
14 import sqlalchemy as sa
15 import logging
16
17 logger = logging.getLogger('alembic')
18
19 metadata = sa.MetaData()
20
22 return oid_user.replace(".id.fedoraproject.org/", "") \
23 .replace("http://", "")
24
26 op.add_column(u'user', sa.Column('username', sa.String(length=100)))
27
28 sa_user = sa.Table("user", metadata,
29 sa.Column("id", sa.Integer),
30 sa.Column("openid_name", sa.String(length=100)),
31 sa.Column("username", sa.String(length=100))
32 )
33
34 for u in op.get_bind().execute(sa.select([sa_user.c.id, sa_user.c.openid_name])):
35 username = username_default(u[1])
36 logger.info("converting {0}'s account".format(username))
37 op.get_bind().execute(sa_user.update() \
38 .where(sa_user.c.id==u[0]) \
39 .values(username=username))
40
41 if op.get_bind().dialect.name != 'sqlite':
42
43 op.alter_column("user", "username", nullable=False)
44
45 op.drop_column(u'user', u'openid_name')
46
47
49 op.add_column(u'user', sa.Column(u'openid_name', sa.VARCHAR(length=100), nullable=True))
50
51 sa_user = sa.Table("user", metadata,
52 sa.Column("id", sa.Integer),
53 sa.Column("openid_name", sa.String(length=100)),
54 sa.Column("username", sa.String(length=100))
55 )
56
57 for u in op.get_bind().execute(sa.select([sa_user.c.id, sa_user.c.username])):
58 openid_name = "http://{0}.id.fedoraproject.org/".format(str(u[1]))
59 op.get_bind().execute(sa_user.update() \
60 .where(sa_user.c.id==u[0]) \
61 .values(openid_name=openid_name)
62 )
63
64 if op.get_bind().dialect.name != 'sqlite':
65 op.drop_column(u'user', 'username')
66 op.alter_column("user", "openid_name", nullable=False)
67