Files
@ 260a7a01b054
Branch filter:
Location: kallithea/rhodecode/lib/dbmigrate/versions/002_version_1_1_0.py - annotation
260a7a01b054
3.2 KiB
text/x-python
follow Python conventions for boolean values
True and False might be singletons and the "default" values for "boolean"
expressions, but "all" values in Python has a boolean value and should be
evaluated as such. Checking with 'is True' and 'is False' is thus confusing,
error prone and unnessarily complex.
If we anywhere rely and nullable boolean fields from the database layer and
don't want the null value to be treated as False then we should check
explicitly for null with 'is None'.
True and False might be singletons and the "default" values for "boolean"
expressions, but "all" values in Python has a boolean value and should be
evaluated as such. Checking with 'is True' and 'is False' is thus confusing,
error prone and unnessarily complex.
If we anywhere rely and nullable boolean fields from the database layer and
don't want the null value to be treated as False then we should check
explicitly for null with 'is None'.
28a4bb11bb6f 28a4bb11bb6f 9753e0907827 28a4bb11bb6f 28a4bb11bb6f 28a4bb11bb6f 28a4bb11bb6f 28a4bb11bb6f 28a4bb11bb6f 28a4bb11bb6f 2f83756f3041 28a4bb11bb6f 28a4bb11bb6f 9753e0907827 72c525a7e7ad 9753e0907827 6832ef664673 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 28a4bb11bb6f 9753e0907827 28a4bb11bb6f 28a4bb11bb6f 9753e0907827 9753e0907827 9753e0907827 6832ef664673 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 6832ef664673 60cbde084047 9753e0907827 9753e0907827 9753e0907827 60cbde084047 9753e0907827 9753e0907827 28a4bb11bb6f 9753e0907827 28a4bb11bb6f 60cbde084047 9753e0907827 60cbde084047 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 5cacb51f25f1 2f83756f3041 cf51bbfb120e 9753e0907827 9753e0907827 9753e0907827 5cacb51f25f1 2f83756f3041 9753e0907827 9753e0907827 9753e0907827 72c525a7e7ad 9753e0907827 9753e0907827 9753e0907827 | 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.model.meta import Base
from rhodecode.lib.dbmigrate.migrate import *
from rhodecode.lib.dbmigrate.migrate.changeset import *
log = logging.getLogger(__name__)
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
is_ldap = Column("is_ldap", Boolean(), nullable=True,
unique=None, default=False)
is_ldap.create(tbl, populate_default=True)
is_ldap.alter(nullable=False)
#==========================================================================
# 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
#==========================================================================
tblname = 'repositories'
tbl = Table(tblname, MetaData(bind=migrate_engine), autoload=True,
autoload_with=migrate_engine)
#ADD repo_type column#
repo_type = Column("repo_type", String(length=None, convert_unicode=False,
assert_unicode=None),
nullable=True, unique=False, default='hg')
repo_type.create(tbl, populate_default=True)
#repo_type.alter(nullable=False)
#ADD statistics column#
enable_statistics = Column("statistics", Boolean(), nullable=True,
unique=None, default=True)
enable_statistics.create(tbl)
#==========================================================================
# Add table `user_followings`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_1_0 import UserFollowing
UserFollowing().__table__.create()
#==========================================================================
# Add table `cache_invalidation`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_1_0 import CacheInvalidation
CacheInvalidation().__table__.create()
return
def downgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine
|