changeset 3101:102ef3f1b849 beta

default permissions can get duplicated after migration from 1.4.X. check and verify again it, notify user that he should re-check it.
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 14 Dec 2012 02:05:12 +0100
parents fd93dfa03d9b
children 7251b3286077
files rhodecode/__init__.py rhodecode/lib/db_manage.py rhodecode/lib/dbmigrate/versions/009_version_1_5_1.py
diffstat 3 files changed, 39 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/__init__.py	Thu Dec 13 23:22:36 2012 +0100
+++ b/rhodecode/__init__.py	Fri Dec 14 02:05:12 2012 +0100
@@ -38,7 +38,7 @@
 
 __version__ = ('.'.join((str(each) for each in VERSION[:3])) +
                '.'.join(VERSION[3:]))
-__dbversion__ = 8  # defines current db version for migrations
+__dbversion__ = 9  # defines current db version for migrations
 __platform__ = platform.system()
 __license__ = 'GPLv3'
 __py_version__ = sys.version_info
--- a/rhodecode/lib/db_manage.py	Thu Dec 13 23:22:36 2012 +0100
+++ b/rhodecode/lib/db_manage.py	Fri Dec 14 02:05:12 2012 +0100
@@ -276,6 +276,16 @@
                 self.klass.create_default_options(skip_existing=True)
                 Session().commit()
 
+            def step_9(self):
+                perm_fixes = self.klass.reset_permissions(User.DEFAULT_USER)
+                Session().commit()
+                if perm_fixes:
+                    notify('There was an inconsistent state of permissions '
+                           'detected for default user. Permissions are now '
+                           'reset to the default value for default user. '
+                           'Please validate and check default permissions '
+                           'in admin panel')
+
         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/009_version_1_5_1.py	Fri Dec 14 02:05:12 2012 +0100
@@ -0,0 +1,28 @@
+import logging
+import datetime
+
+from sqlalchemy import *
+from sqlalchemy.exc import DatabaseError
+from sqlalchemy.orm import relation, backref, class_mapper, joinedload
+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
+    """
+    pass
+
+def downgrade(migrate_engine):
+    meta = MetaData()
+    meta.bind = migrate_engine