##// END OF EJS Templates
file-browser: refactor how we load metadata for file trees....
file-browser: refactor how we load metadata for file trees. Before we used to use JSON data to map the nodes to json and fill in metadata. Now we use rendered parts of html. This is nicer for caching as it would allow us to replace the view with cached tree and then after ajax load replace it again with cached with metadata. On the next request we'll get the cached with metadata and thus we can skip entirely second ajax call for metadata. This is part of #4083

File last commit:

r1:854a839a default
r423:9930e2c8 default
Show More
004_version_1_3_0.py
74 lines | 3.1 KiB | text/x-python | PythonLexer
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 rhodecode.lib.dbmigrate.migrate import *
from rhodecode.lib.dbmigrate.migrate.changeset import *
from rhodecode.model.meta import Base
log = logging.getLogger(__name__)
def upgrade(migrate_engine):
""" Upgrade operations go here.
Don't create your own engine; bind migrate_engine to your metadata
"""
#==========================================================================
# Add table `users_group_repo_group_to_perm`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import UserGroupRepoGroupToPerm
UserGroupRepoGroupToPerm().__table__.create()
#==========================================================================
# Add table `changeset_comments`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import ChangesetComment
ChangesetComment().__table__.create()
#==========================================================================
# Add table `notifications`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import Notification
Notification().__table__.create()
#==========================================================================
# Add table `user_to_notification`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import UserNotification
UserNotification().__table__.create()
#==========================================================================
# Add unique to table `users_group_to_perm`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import UserGroupToPerm
tbl = UserGroupToPerm().__table__
cons = UniqueConstraint('users_group_id', 'permission_id', table=tbl)
cons.create()
#==========================================================================
# Fix unique constrain on table `user_logs`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import UserLog
tbl = UserLog().__table__
col = Column("repository_id", Integer(), ForeignKey('repositories.repo_id'),
nullable=False, unique=None, default=None)
col.alter(nullable=True, table=tbl)
#==========================================================================
# Rename table `group_to_perm` to `user_repo_group_to_perm`
#==========================================================================
tbl = Table('group_to_perm', MetaData(bind=migrate_engine), autoload=True,
autoload_with=migrate_engine)
tbl.rename('user_repo_group_to_perm')
return
def downgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine