##// END OF EJS Templates
Fixed url bug when using numeric revision in file browser,...
Fixed url bug when using numeric revision in file browser, added follow branch checkbox for browsing only changesets from current branch

File last commit:

r837:60cbde08 beta
r884:322b53be beta
Show More
002_version_1_1_0.py
127 lines | 5.1 KiB | text/x-python | PythonLexer
dbmigrations:...
r836 import logging
import datetime
added dbmigrate package, added model changes...
r833
dbmigrations:...
r836 from sqlalchemy import *
from sqlalchemy.exc import DatabaseError
from sqlalchemy.orm import relation, backref, class_mapper
from sqlalchemy.orm.session import Session
from rhodecode.model.meta import Base
from rhodecode.model.db import BaseModel
from rhodecode.lib.dbmigrate.migrate import *
log = logging.getLogger(__name__)
added dbmigrate package, added model changes...
r833
def upgrade(migrate_engine):
""" Upgrade operations go here.
Don't create your own engine; bind migrate_engine to your metadata
"""
#==========================================================================
# Upgrade of `users` table
#==========================================================================
tblname = 'users'
tbl = Table(tblname, MetaData(bind=migrate_engine), autoload=True,
autoload_with=migrate_engine)
#ADD is_ldap column
dbmigrations:...
r836 is_ldap = Column("is_ldap", Boolean(), nullable=True,
added dbmigrate package, added model changes...
r833 unique=None, default=False)
dbmigrations:...
r836 is_ldap.create(tbl, populate_default=True)
is_ldap.alter(nullable=False)
added dbmigrate package, added model changes...
r833
#==========================================================================
# Upgrade of `user_logs` table
#==========================================================================
tblname = 'users'
tbl = Table(tblname, MetaData(bind=migrate_engine), autoload=True,
autoload_with=migrate_engine)
#ADD revision column
revision = Column('revision', TEXT(length=None, convert_unicode=False,
assert_unicode=None),
nullable=True, unique=None, default=None)
revision.create(tbl)
#==========================================================================
# Upgrade of `repositories` table
#==========================================================================
fixed wrong migration schema...
r837 tblname = 'repositories'
added dbmigrate package, added model changes...
r833 tbl = Table(tblname, MetaData(bind=migrate_engine), autoload=True,
autoload_with=migrate_engine)
fixed wrong migration schema...
r837 #ADD repo_type column#
added dbmigrate package, added model changes...
r833 repo_type = Column("repo_type", String(length=None, convert_unicode=False,
assert_unicode=None),
dbmigrations:...
r836 nullable=True, unique=False, default='hg')
added dbmigrate package, added model changes...
r833
dbmigrations:...
r836 repo_type.create(tbl, populate_default=True)
fixed wrong migration schema...
r837 #repo_type.alter(nullable=False)
added dbmigrate package, added model changes...
r833
fixed wrong migration schema...
r837 #ADD statistics column#
added dbmigrate package, added model changes...
r833 enable_statistics = Column("statistics", Boolean(), nullable=True,
unique=None, default=True)
enable_statistics.create(tbl)
#==========================================================================
# Add table `user_followings`
#==========================================================================
tblname = 'user_followings'
dbmigrations:...
r836
added dbmigrate package, added model changes...
r833 class UserFollowing(Base, BaseModel):
__tablename__ = 'user_followings'
__table_args__ = (UniqueConstraint('user_id', 'follows_repository_id'),
UniqueConstraint('user_id', 'follows_user_id')
, {'useexisting':True})
user_following_id = Column("user_following_id", Integer(), nullable=False, unique=True, default=None, primary_key=True)
user_id = Column("user_id", Integer(), ForeignKey(u'users.user_id'), nullable=False, unique=None, default=None)
follows_repo_id = Column("follows_repository_id", Integer(), ForeignKey(u'repositories.repo_id'), nullable=True, unique=None, default=None)
follows_user_id = Column("follows_user_id", Integer(), ForeignKey(u'users.user_id'), nullable=True, unique=None, default=None)
user = relation('User', primaryjoin='User.user_id==UserFollowing.user_id')
follows_user = relation('User', primaryjoin='User.user_id==UserFollowing.follows_user_id')
follows_repository = relation('Repository')
Base.metadata.tables[tblname].create(migrate_engine)
#==========================================================================
# Add table `cache_invalidation`
#==========================================================================
dbmigrations:...
r836 tblname = 'cache_invalidation'
added dbmigrate package, added model changes...
r833 class CacheInvalidation(Base, BaseModel):
__tablename__ = 'cache_invalidation'
__table_args__ = (UniqueConstraint('cache_key'), {'useexisting':True})
cache_id = Column("cache_id", Integer(), nullable=False, unique=True, default=None, primary_key=True)
cache_key = Column("cache_key", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
cache_args = Column("cache_args", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
cache_active = Column("cache_active", Boolean(), nullable=True, unique=None, default=False)
def __init__(self, cache_key, cache_args=''):
self.cache_key = cache_key
self.cache_args = cache_args
self.cache_active = False
def __repr__(self):
return "<CacheInvalidation('%s:%s')>" % (self.cache_id, self.cache_key)
Base.metadata.tables[tblname].create(migrate_engine)
return
def downgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine