##// END OF EJS Templates
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
Imported some of the GPLv3'd changes from RhodeCode v2.2.5. This imports changes between changesets 21af6c4eab3d and 6177597791c2 in RhodeCode's original repository, including only changes to Python files and HTML. RhodeCode clearly licensed its changes to these files under GPLv3 in their /LICENSE file, which states the following: The Python code and integrated HTML are licensed under the GPLv3 license. (See: https://code.rhodecode.com/rhodecode/files/v2.2.5/LICENSE or http://web.archive.org/web/20140512193334/https://code.rhodecode.com/rhodecode/files/f3b123159901f15426d18e3dc395e8369f70ebe0/LICENSE for an online copy of that LICENSE file) Conservancy reviewed these changes and confirmed that they can be licensed as a whole to the Kallithea project under GPLv3-only. While some of the contents committed herein are clearly licensed GPLv3-or-later, on the whole we must assume the are GPLv3-only, since the statement above from RhodeCode indicates that they intend GPLv3-only as their license, per GPLv3ยง14 and other relevant sections of GPLv3.

File last commit:

r3417:fa6ba672 beta
r4116:ffd45b18 rhodecode-2.2.5-gpl
Show More
006_version_1_4_0.py
177 lines | 7.1 KiB | text/x-python | PythonLexer
space fix
r2550 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
Step6a for migrations from 1.3.6...
r2765 from sqlalchemy.ext.declarative import declarative_base
space fix
r2550
from rhodecode.lib.dbmigrate.migrate import *
from rhodecode.lib.dbmigrate.migrate.changeset import *
from rhodecode.model.meta import Base
Step6a for migrations from 1.3.6...
r2765 from rhodecode.model import meta
Migration upgrades cache for lightweight dashboard...
r3148 from rhodecode.lib.dbmigrate.versions import _reset_base
space fix
r2550
log = logging.getLogger(__name__)
def upgrade(migrate_engine):
Step6a for migrations from 1.3.6...
r2765 """
Upgrade operations go here.
space fix
r2550 Don't create your own engine; bind migrate_engine to your metadata
"""
Step6a for migrations from 1.3.6...
r2765 #==========================================================================
# USEREMAILMAP
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_4_0 import UserEmailMap
tbl = UserEmailMap.__table__
tbl.create()
#==========================================================================
# PULL REQUEST
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_4_0 import PullRequest
tbl = PullRequest.__table__
tbl.create()
#==========================================================================
# PULL REQUEST REVIEWERS
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_4_0 import PullRequestReviewers
tbl = PullRequestReviewers.__table__
tbl.create()
#==========================================================================
# CHANGESET STATUS
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_4_0 import ChangesetStatus
tbl = ChangesetStatus.__table__
tbl.create()
Migration upgrades cache for lightweight dashboard...
r3148 _reset_base(migrate_engine)
Step6a for migrations from 1.3.6...
r2765
#==========================================================================
# USERS TABLE
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import User
tbl = User.__table__
# change column name -> firstname
col = User.__table__.columns.name
col.alter(index=Index('u_username_idx', 'username'))
col.alter(index=Index('u_email_idx', 'email'))
col.alter(name="firstname", table=tbl)
typos+docs.
r2769 # add inherit_default_permission column
More fixes to upgrade procedure,...
r2767 inherit_default_permissions = Column("inherit_default_permissions",
Boolean(), nullable=True, unique=None,
default=True)
inherit_default_permissions.create(table=tbl)
inherit_default_permissions.alter(nullable=False, default=True, table=tbl)
#==========================================================================
typos+docs.
r2769 # USERS GROUP TABLE
#==========================================================================
Mads Kiilerich
further cleanup of UsersGroup...
r3417 from rhodecode.lib.dbmigrate.schema.db_1_3_0 import UserGroup
tbl = UserGroup.__table__
typos+docs.
r2769 # add inherit_default_permission column
gr_inherit_default_permissions = Column(
"users_group_inherit_default_permissions",
Boolean(), nullable=True, unique=None,
default=True)
gr_inherit_default_permissions.create(table=tbl)
gr_inherit_default_permissions.alter(nullable=False, default=True, table=tbl)
#==========================================================================
Step6a for migrations from 1.3.6...
r2765 # REPOSITORIES
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import Repository
tbl = Repository.__table__
typos+docs.
r2769 # add enable locking column
Step6a for migrations from 1.3.6...
r2765 enable_locking = Column("enable_locking", Boolean(), nullable=True,
unique=None, default=False)
enable_locking.create(table=tbl)
enable_locking.alter(nullable=False, default=False, table=tbl)
typos+docs.
r2769 # add locked column
Step6a for migrations from 1.3.6...
r2765 _locked = Column("locked", String(255), nullable=True, unique=False,
default=None)
_locked.create(table=tbl)
typos+docs.
r2769 #add langing revision column
Step6a for migrations from 1.3.6...
r2765 landing_rev = Column("landing_revision", String(255), nullable=True,
unique=False, default='tip')
landing_rev.create(table=tbl)
landing_rev.alter(nullable=False, default='tip', table=tbl)
#==========================================================================
# GROUPS
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import RepoGroup
tbl = RepoGroup.__table__
typos+docs.
r2769
# add enable locking column
Step6a for migrations from 1.3.6...
r2765 enable_locking = Column("enable_locking", Boolean(), nullable=True,
unique=None, default=False)
enable_locking.create(table=tbl)
enable_locking.alter(nullable=False, default=False)
#==========================================================================
# CACHE INVALIDATION
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import CacheInvalidation
tbl = CacheInvalidation.__table__
typos+docs.
r2769 # add INDEX for cache keys
Step6a for migrations from 1.3.6...
r2765 col = CacheInvalidation.__table__.columns.cache_key
col.alter(index=Index('key_idx', 'cache_key'))
#==========================================================================
# NOTIFICATION
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import Notification
tbl = Notification.__table__
typos+docs.
r2769 # add index for notification type
Step6a for migrations from 1.3.6...
r2765 col = Notification.__table__.columns.type
col.alter(index=Index('notification_type_idx', 'type'),)
#==========================================================================
# CHANGESET_COMMENTS
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import ChangesetComment
tbl = ChangesetComment.__table__
typos+docs.
r2769 col = ChangesetComment.__table__.columns.revision
Step6a for migrations from 1.3.6...
r2765
typos+docs.
r2769 # add index for revisions
Step6a for migrations from 1.3.6...
r2765 col.alter(index=Index('cc_revision_idx', 'revision'),)
typos+docs.
r2769 # add hl_lines column
Step6a for migrations from 1.3.6...
r2765 hl_lines = Column('hl_lines', Unicode(512), nullable=True)
hl_lines.create(table=tbl)
typos+docs.
r2769 # add created_on column
Step6a for migrations from 1.3.6...
r2765 created_on = Column('created_on', DateTime(timezone=False), nullable=True,
default=datetime.datetime.now)
created_on.create(table=tbl)
created_on.alter(nullable=False, default=datetime.datetime.now)
typos+docs.
r2769
Step6a for migrations from 1.3.6...
r2765 modified_at = Column('modified_at', DateTime(timezone=False), nullable=False,
default=datetime.datetime.now)
modified_at.alter(type=DateTime(timezone=False), table=tbl)
typos+docs.
r2769 # add FK to pull_request
Step6a for migrations from 1.3.6...
r2765 pull_request_id = Column("pull_request_id", Integer(),
ForeignKey('pull_requests.pull_request_id'),
nullable=True)
pull_request_id.create(table=tbl)
Migration upgrades cache for lightweight dashboard...
r3148 _reset_base(migrate_engine)
space fix
r2550
def downgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine