##// END OF EJS Templates
db: Create database migration to rename token auth plugin ID.
johbo -
r81:92d2661f default
parent child Browse files
Show More
@@ -0,0 +1,57
1 # -*- coding: utf-8 -*-
2
3 import logging
4
5 from rhodecode.lib.dbmigrate.versions import _reset_base
6 from rhodecode.model import init_model_encryption, meta
7
8 log = logging.getLogger(__name__)
9
10
11 def upgrade(migrate_engine):
12 """
13 Upgrade operations go here.
14 Don't create your own engine; bind migrate_engine to your metadata
15 """
16 _reset_base(migrate_engine)
17 from rhodecode.lib.dbmigrate.schema import db_3_7_0_0
18 init_model_encryption(db_3_7_0_0)
19 fixups(db_3_7_0_0, meta.Session)
20
21
22 def downgrade(migrate_engine):
23 pass
24
25
26 AUTH_PLUGINS_SETTING = "auth_plugins"
27
28 PLUGIN_RENAME_MAP = {
29 'egg:rhodecode-enterprise-ee#token': 'egg:rhodecode-enterprise-ce#token',
30 }
31
32
33 def rename_plugins(models, Session):
34 query = models.RhodeCodeSetting.query().filter(
35 models.RhodeCodeSetting.app_settings_name == AUTH_PLUGINS_SETTING)
36 plugin_setting = query.scalar()
37 plugins = plugin_setting.app_settings_value
38
39 new_plugins = []
40
41 for plugin_id in plugins:
42 new_plugin_id = PLUGIN_RENAME_MAP.get(plugin_id, None)
43 if new_plugin_id:
44 new_plugins.append(new_plugin_id)
45 else:
46 new_plugins.append(plugin_id)
47
48 plugin_setting.app_settings_value = ','.join(new_plugins)
49
50 log.info("Rename of auth plugin IDs")
51 log.info("Original setting value: %s", plugins)
52 log.info("New setting value: %s", new_plugins)
53
54
55 def fixups(models, Session):
56 rename_plugins(models, Session)
57 Session().commit()
General Comments 0
You need to be logged in to leave comments. Login now