##// END OF EJS Templates
diffs: fixed outdated files in pull-requests re-using the filediff raw_id for anchor generation....
diffs: fixed outdated files in pull-requests re-using the filediff raw_id for anchor generation. In some cases when there are no longer any files this caused error since filediff wasn't present. In addition this generated wrong ids since it used a last-defined attribute on a for loop. Fixes #5567

File last commit:

r1543:4acfe019 default
r3830:5bbd362b stable
Show More
050_version_4_0_0.py
37 lines | 867 B | text/x-python | PythonLexer
# -*- coding: utf-8 -*-
import logging
from sqlalchemy.orm.attributes import flag_modified
from rhodecode.lib.dbmigrate.versions import _reset_base
from rhodecode.model import init_model_encryption, 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
"""
_reset_base(migrate_engine)
from rhodecode.lib.dbmigrate.schema import db_3_7_0_0
init_model_encryption(db_3_7_0_0)
fixups(db_3_7_0_0, meta.Session)
def downgrade(migrate_engine):
pass
def fixups(models, Session):
for repo in models.Repository.get_all():
if repo.clone_uri:
log.info('Encrypting clone uri in repo %s', repo)
flag_modified(repo, 'clone_uri')
Session().add(repo)
Session().commit()