Mercurial > kallithea
comparison rhodecode/lib/dbmigrate/versions/008_version_1_5_0.py @ 3086:f9c44f3ed4c6 beta
fixed migrations
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 12 Dec 2012 23:26:30 +0100 |
parents | 09e8623362ef |
children | b31984972e95 |
comparison
equal
deleted
inserted
replaced
3085:7d0476e1f1dc | 3086:f9c44f3ed4c6 |
---|---|
30 assert_unicode=None), nullable=True, | 30 assert_unicode=None), nullable=True, |
31 unique=None, default=None) | 31 unique=None, default=None) |
32 # create username column | 32 # create username column |
33 username.create(table=tbl) | 33 username.create(table=tbl) |
34 | 34 |
35 #alter user_id to not null | 35 _Session = Session() |
36 ## after adding that column fix all usernames | |
37 users_log = _Session.query(UserLog)\ | |
38 .options(joinedload(UserLog.user))\ | |
39 .options(joinedload(UserLog.repository)).all() | |
40 | |
41 for entry in users_log: | |
42 entry.username = entry.user.username | |
43 _Session.add(entry) | |
44 _Session.commit() | |
45 | |
46 #alter username to not null | |
36 from rhodecode.lib.dbmigrate.schema.db_1_5_0 import UserLog | 47 from rhodecode.lib.dbmigrate.schema.db_1_5_0 import UserLog |
37 tbl_name = UserLog.__tablename__ | 48 tbl_name = UserLog.__tablename__ |
38 tbl = Table(tbl_name, | 49 tbl = Table(tbl_name, |
39 MetaData(bind=migrate_engine), autoload=True, | 50 MetaData(bind=migrate_engine), autoload=True, |
40 autoload_with=migrate_engine) | 51 autoload_with=migrate_engine) |
41 col = tbl.columns.user_id | 52 col = tbl.columns.username |
42 | 53 |
43 # remove nullability from revision field | 54 # remove nullability from revision field |
44 col.alter(nullable=True) | 55 col.alter(nullable=False) |
45 | |
46 | |
47 | |
48 ## after adding that column fix all usernames | |
49 users_log = UserLog.query()\ | |
50 .options(joinedload(UserLog.user))\ | |
51 .options(joinedload(UserLog.repository)).all() | |
52 for entry in users_log: | |
53 entry.username = entry.user.username | |
54 Session().add(entry) | |
55 Session().commit() | |
56 | 56 |
57 | 57 |
58 def downgrade(migrate_engine): | 58 def downgrade(migrate_engine): |
59 meta = MetaData() | 59 meta = MetaData() |
60 meta.bind = migrate_engine | 60 meta.bind = migrate_engine |