Files @ 6af3e67cc576
Branch filter:

Location: kallithea/rhodecode/lib/dbmigrate/versions/006_version_1_4_0.py

Bradley M. Kuhn
Add Twitter's Bootstrap 3.0.0 CSS and Javascript files, under Apache License 2.0

These files are exactly as they appear the upstream release 3.0.0 of
Bootstrap, which Twitter released under the Apache License 2.0. To extract
these files, I did the following:

I downloaded the following file:
https://github.com/twbs/bootstrap/archive/v3.0.0.zip

with sha256sum of:
$ sha256sum v3.0.0.zip
2d54f345f4abc6bf65ea648c323e9bae577e6febf755650e62555f2d7a222e17 v3.0.0.zip

And extracted from it these two files:
bootstrap-3.0.0/dist/css/bootstrap.css
bootstrap-3.0.0/dist/js/bootstrap.js
which are licensed under the Apache License 2.0.

and placed them into:
rhodecode/public/css/bootstrap.css
rhodecode/public/js/bootstrap.js
respectively.
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 sqlalchemy.ext.declarative import declarative_base

from rhodecode.lib.dbmigrate.migrate import *
from rhodecode.lib.dbmigrate.migrate.changeset import *

from rhodecode.model.meta import Base
from rhodecode.model import meta
from rhodecode.lib.dbmigrate.versions import _reset_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
    """

    #==========================================================================
    # 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()

    _reset_base(migrate_engine)

    #==========================================================================
    # 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)

    # add inherit_default_permission column
    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)

    #==========================================================================
    # USERS GROUP TABLE
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_3_0 import UserGroup
    tbl = UserGroup.__table__
    # 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)

    #==========================================================================
    # REPOSITORIES
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_3_0 import Repository
    tbl = Repository.__table__

    # add enable locking column
    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)

    # add locked column
    _locked = Column("locked", String(255), nullable=True, unique=False,
                     default=None)
    _locked.create(table=tbl)

    #add langing revision column
    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__

    # add enable locking column
    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__

    # add INDEX for cache keys
    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__

    # add index for notification type
    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__
    col = ChangesetComment.__table__.columns.revision

    # add index for revisions
    col.alter(index=Index('cc_revision_idx', 'revision'),)

    # add hl_lines column
    hl_lines = Column('hl_lines', Unicode(512), nullable=True)
    hl_lines.create(table=tbl)

    # add created_on column
    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)

    modified_at = Column('modified_at', DateTime(timezone=False), nullable=False,
                         default=datetime.datetime.now)
    modified_at.alter(type=DateTime(timezone=False), table=tbl)

    # add FK to pull_request
    pull_request_id = Column("pull_request_id", Integer(),
                             ForeignKey('pull_requests.pull_request_id'),
                             nullable=True)
    pull_request_id.create(table=tbl)
    _reset_base(migrate_engine)


def downgrade(migrate_engine):
    meta = MetaData()
    meta.bind = migrate_engine