Show More
@@ -0,0 +1,54 b'' | |||||
|
1 | # -*- coding: utf-8 -*- | |||
|
2 | ||||
|
3 | import logging | |||
|
4 | from sqlalchemy import * | |||
|
5 | from sqlalchemy.engine import reflection | |||
|
6 | ||||
|
7 | from alembic.migration import MigrationContext | |||
|
8 | from alembic.operations import Operations | |||
|
9 | ||||
|
10 | from rhodecode.lib.dbmigrate.versions import _reset_base | |||
|
11 | from rhodecode.model import meta, init_model_encryption | |||
|
12 | ||||
|
13 | ||||
|
14 | log = logging.getLogger(__name__) | |||
|
15 | ||||
|
16 | ||||
|
17 | def _get_indexes_list(migrate_engine, table_name): | |||
|
18 | inspector = reflection.Inspector.from_engine(migrate_engine) | |||
|
19 | return inspector.get_indexes(table_name) | |||
|
20 | ||||
|
21 | ||||
|
22 | def upgrade(migrate_engine): | |||
|
23 | """ | |||
|
24 | Upgrade operations go here. | |||
|
25 | Don't create your own engine; bind migrate_engine to your metadata | |||
|
26 | """ | |||
|
27 | _reset_base(migrate_engine) | |||
|
28 | from rhodecode.lib.dbmigrate.schema import db_4_20_0_0 | |||
|
29 | ||||
|
30 | init_model_encryption(db_4_20_0_0) | |||
|
31 | ||||
|
32 | # make sure we re-create api-keys indexes | |||
|
33 | ||||
|
34 | context = MigrationContext.configure(migrate_engine.connect()) | |||
|
35 | op = Operations(context) | |||
|
36 | ||||
|
37 | existing_indexes = _get_indexes_list( | |||
|
38 | migrate_engine, db_4_20_0_0.CacheKey.__tablename__) | |||
|
39 | ||||
|
40 | names = [idx['name'] for idx in existing_indexes] | |||
|
41 | ||||
|
42 | with op.batch_alter_table(db_4_20_0_0.CacheKey.__tablename__) as batch_op: | |||
|
43 | if 'cache_args_idx' not in names: | |||
|
44 | batch_op.create_index( | |||
|
45 | 'cache_args_idx', ['cache_args']) | |||
|
46 | ||||
|
47 | ||||
|
48 | def downgrade(migrate_engine): | |||
|
49 | meta = MetaData() | |||
|
50 | meta.bind = migrate_engine | |||
|
51 | ||||
|
52 | ||||
|
53 | def fixups(models, _SESSION): | |||
|
54 | pass |
@@ -48,7 +48,7 b' PYRAMID_SETTINGS = {}' | |||||
48 | EXTENSIONS = {} |
|
48 | EXTENSIONS = {} | |
49 |
|
49 | |||
50 | __version__ = ('.'.join((str(each) for each in VERSION[:3]))) |
|
50 | __version__ = ('.'.join((str(each) for each in VERSION[:3]))) | |
51 |
__dbversion__ = 11 |
|
51 | __dbversion__ = 114 # defines current db version for migrations | |
52 | __platform__ = platform.system() |
|
52 | __platform__ = platform.system() | |
53 | __license__ = 'AGPLv3, and Commercial License' |
|
53 | __license__ = 'AGPLv3, and Commercial License' | |
54 | __author__ = 'RhodeCode GmbH' |
|
54 | __author__ = 'RhodeCode GmbH' |
@@ -3654,6 +3654,7 b' class CacheKey(Base, BaseModel):' | |||||
3654 | __table_args__ = ( |
|
3654 | __table_args__ = ( | |
3655 | UniqueConstraint('cache_key'), |
|
3655 | UniqueConstraint('cache_key'), | |
3656 | Index('key_idx', 'cache_key'), |
|
3656 | Index('key_idx', 'cache_key'), | |
|
3657 | Index('cache_args_idx', 'cache_args'), | |||
3657 | base_table_args, |
|
3658 | base_table_args, | |
3658 | ) |
|
3659 | ) | |
3659 |
|
3660 | |||
@@ -3661,7 +3662,6 b' class CacheKey(Base, BaseModel):' | |||||
3661 |
|
3662 | |||
3662 | # namespaces used to register process/thread aware caches |
|
3663 | # namespaces used to register process/thread aware caches | |
3663 | REPO_INVALIDATION_NAMESPACE = 'repo_cache:{repo_id}' |
|
3664 | REPO_INVALIDATION_NAMESPACE = 'repo_cache:{repo_id}' | |
3664 | SETTINGS_INVALIDATION_NAMESPACE = 'system_settings' |
|
|||
3665 |
|
3665 | |||
3666 | cache_id = Column("cache_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
|
3666 | cache_id = Column("cache_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
3667 | cache_key = Column("cache_key", String(255), nullable=True, unique=None, default=None) |
|
3667 | cache_key = Column("cache_key", String(255), nullable=True, unique=None, default=None) |
General Comments 0
You need to be logged in to leave comments.
Login now