changeset 3065:09e8623362ef beta

remove not null from user_id column for users log archiving
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 06 Dec 2012 00:53:49 +0100
parents 7297ffb60900
children 5d580e9bc730
files rhodecode/lib/dbmigrate/versions/008_version_1_5_0.py rhodecode/model/db.py
diffstat 2 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/dbmigrate/versions/008_version_1_5_0.py	Thu Dec 06 00:38:02 2012 +0100
+++ b/rhodecode/lib/dbmigrate/versions/008_version_1_5_0.py	Thu Dec 06 00:53:49 2012 +0100
@@ -32,6 +32,19 @@
     # create username column
     username.create(table=tbl)
 
+    #alter user_id to not null
+    from rhodecode.lib.dbmigrate.schema.db_1_5_0 import UserLog
+    tbl_name = UserLog.__tablename__
+    tbl = Table(tbl_name,
+                MetaData(bind=migrate_engine), autoload=True,
+                autoload_with=migrate_engine)
+    col = tbl.columns.user_id
+
+    # remove nullability from revision field
+    col.alter(nullable=True)
+
+
+
     ## after adding that column fix all usernames
     users_log = UserLog.query()\
             .options(joinedload(UserLog.user))\
--- a/rhodecode/model/db.py	Thu Dec 06 00:38:02 2012 +0100
+++ b/rhodecode/model/db.py	Thu Dec 06 00:53:49 2012 +0100
@@ -331,6 +331,7 @@
     api_key = Column("api_key", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
     inherit_default_permissions = Column("inherit_default_permissions", Boolean(), nullable=False, unique=None, default=True)
 
+    user_log = relationship('UserLog')
     user_perms = relationship('UserToPerm', primaryjoin="User.user_id==UserToPerm.user_id", cascade='all')
 
     repositories = relationship('Repository')
@@ -522,7 +523,7 @@
          'mysql_charset': 'utf8'},
     )
     user_log_id = Column("user_log_id", Integer(), nullable=False, unique=True, default=None, primary_key=True)
-    user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None)
+    user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=True, unique=None, default=None)
     username = Column("username", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
     repository_id = Column("repository_id", Integer(), ForeignKey('repositories.repo_id'), nullable=True)
     repository_name = Column("repository_name", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)