##// END OF EJS Templates
#47 implemented Adding of new repo_groups+forms+validators. Fixed sorting of repo groups by main names in multiple locations. Removed some unneeded calls to self.sa for exchange to .query() methods....
#47 implemented Adding of new repo_groups+forms+validators. Fixed sorting of repo groups by main names in multiple locations. Removed some unneeded calls to self.sa for exchange to .query() methods. Added new db unique key for Group

File last commit:

r1231:9f656066 default
r1345:3bce31f0 beta
Show More
002_version_1_1_0.py
115 lines | 5.0 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.lib.dbmigrate.migrate import *
Fixed dbmigrate issues.
r907 from rhodecode.lib.dbmigrate.migrate.changeset import *
dbmigrations:...
r836
log = logging.getLogger(__name__)
added dbmigrate package, added model changes...
r833
def upgrade(migrate_engine):
source code cleanup: remove trailing white space, normalize file endings
r1203 """ Upgrade operations go here.
added dbmigrate package, added model changes...
r833 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
source code cleanup: remove trailing white space, normalize file endings
r1203 #==========================================================================
added dbmigrate package, added model changes...
r833
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
source code cleanup: remove trailing white space, normalize file endings
r1203 #==========================================================================
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`
#==========================================================================
fixes for #143
r1182 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')
source code cleanup: remove trailing white space, normalize file endings
r1203
Fixed dbmigrate issues.
r907 UserFollowing().__table__.create()
added dbmigrate package, added model changes...
r833
#==========================================================================
# Add table `cache_invalidation`
#==========================================================================
fixes for #143
r1182 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)
Fixed dbmigrate issues.
r907 CacheInvalidation().__table__.create()
added dbmigrate package, added model changes...
r833
return
def downgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine