changeset 2797:c9baaacb670a beta

Remove null from revision column as for comments inside pull requests to work properly new migration adds column for future simpler main page
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 04 Sep 2012 01:07:34 +0200
parents bf3c976d02ec
children 091e99b29fd4
files rhodecode/__init__.py rhodecode/lib/db_manage.py rhodecode/lib/dbmigrate/versions/007_version_1_4_0.py rhodecode/model/db.py
diffstat 4 files changed, 56 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/__init__.py	Tue Sep 04 00:34:39 2012 +0200
+++ b/rhodecode/__init__.py	Tue Sep 04 01:07:34 2012 +0200
@@ -38,7 +38,7 @@
 
 __version__ = ('.'.join((str(each) for each in VERSION[:3])) +
                '.'.join(VERSION[3:]))
-__dbversion__ = 6  # defines current db version for migrations
+__dbversion__ = 7  # defines current db version for migrations
 __platform__ = platform.system()
 __license__ = 'GPLv3'
 __py_version__ = sys.version_info
--- a/rhodecode/lib/db_manage.py	Tue Sep 04 00:34:39 2012 +0200
+++ b/rhodecode/lib/db_manage.py	Tue Sep 04 01:07:34 2012 +0200
@@ -254,6 +254,9 @@
                 reg_perm.permission = perm
                 Session().add(reg_perm)
 
+            def step_7(self):
+                pass
+
         upgrade_steps = [0] + range(curr_version + 1, __dbversion__ + 1)
 
         # CALL THE PROPER ORDER OF STEPS TO PERFORM FULL UPGRADE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rhodecode/lib/dbmigrate/versions/007_version_1_4_0.py	Tue Sep 04 01:07:34 2012 +0200
@@ -0,0 +1,51 @@
+import logging
+import datetime
+
+from sqlalchemy import *
+from sqlalchemy.exc import DatabaseError
+from sqlalchemy.orm import relation, backref, class_mapper
+from sqlalchemy.orm.session import Session
+from sqlalchemy.ext.declarative import declarative_base
+
+from rhodecode.lib.dbmigrate.migrate import *
+from rhodecode.lib.dbmigrate.migrate.changeset import *
+
+from rhodecode.model.meta import Base
+from rhodecode.model import meta
+
+log = logging.getLogger(__name__)
+
+
+def upgrade(migrate_engine):
+    """
+    Upgrade operations go here.
+    Don't create your own engine; bind migrate_engine to your metadata
+    """
+
+    #==========================================================================
+    # CHANGESET_COMMENTS
+    #==========================================================================
+    from rhodecode.lib.dbmigrate.schema.db_1_4_0 import ChangesetComment
+    tbl_name = ChangesetComment.__tablename__
+    tbl = Table(tbl_name,
+                MetaData(bind=migrate_engine), autoload=True,
+                autoload_with=migrate_engine)
+    col = tbl.columns.revision
+
+    # remove nullability from revision field
+    col.alter(nullable=True)
+
+    #==========================================================================
+    # REPOSITORY
+    #==========================================================================
+    from rhodecode.lib.dbmigrate.schema.db_1_4_0 import Repository
+    tbl = Repository.__table__
+    updated_on = Column('updated_on', DateTime(timezone=False),
+                        nullable=True, unique=None)
+    # create created on column for future lightweight main page
+    updated_on.create(table=tbl)
+
+
+def downgrade(migrate_engine):
+    meta = MetaData()
+    meta.bind = migrate_engine
--- a/rhodecode/model/db.py	Tue Sep 04 00:34:39 2012 +0200
+++ b/rhodecode/model/db.py	Tue Sep 04 01:07:34 2012 +0200
@@ -602,6 +602,7 @@
     enable_downloads = Column("downloads", Boolean(), nullable=True, unique=None, default=True)
     description = Column("description", String(10000, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
     created_on = Column('created_on', DateTime(timezone=False), nullable=True, unique=None, default=datetime.datetime.now)
+    updated_on = Column('updated_on', DateTime(timezone=False), nullable=True, unique=None, default=datetime.datetime.now)
     landing_rev = Column("landing_revision", String(255, convert_unicode=False, assert_unicode=None), nullable=False, unique=False, default=None)
     enable_locking = Column("enable_locking", Boolean(), nullable=False, unique=None, default=False)
     _locked = Column("locked", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=False, default=None)