# HG changeset patch # User Mads Kiilerich # Date 1431008800 -7200 # Node ID a7b20e31bb36a6726595aa79eb617f61bc9fc4db # Parent c564075ef01b28133b2ee53705dc680d01a55062 db: more consistently set primary keys to be unique, not nullable and without default Setting primary_key will (in general) automatically set autoincrement and setting a default is just odd. diff -r c564075ef01b -r a7b20e31bb36 kallithea/model/db.py --- a/kallithea/model/db.py Thu May 07 16:26:40 2015 +0200 +++ b/kallithea/model/db.py Thu May 07 16:26:40 2015 +0200 @@ -175,7 +175,7 @@ } DEFAULT_UPDATE_URL = '' - app_settings_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + app_settings_id = Column(Integer(), nullable=False, unique=True, primary_key=True) app_settings_name = Column(String(255, convert_unicode=False), nullable=True, unique=None, default=None) _app_settings_value = Column("app_settings_value", String(4096, convert_unicode=False), nullable=True, unique=None, default=None) _app_settings_type = Column("app_settings_type", String(255, convert_unicode=False), nullable=True, unique=None, default=None) @@ -338,7 +338,7 @@ HOOK_PULL = 'outgoing.pull_logger' HOOK_PRE_PULL = 'preoutgoing.pre_pull' - ui_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + ui_id = Column(Integer(), nullable=False, unique=True, primary_key=True) ui_section = Column(String(255, convert_unicode=False), nullable=True, unique=None, default=None) ui_key = Column(String(255, convert_unicode=False), nullable=True, unique=None, default=None) ui_value = Column(String(255, convert_unicode=False), nullable=True, unique=None, default=None) @@ -401,7 +401,7 @@ DEFAULT_USER = 'default' DEFAULT_GRAVATAR_URL = 'https://secure.gravatar.com/avatar/{md5email}?d=identicon&s={size}' - user_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + user_id = Column(Integer(), nullable=False, unique=True, primary_key=True) username = Column(String(255, convert_unicode=False), nullable=True, unique=None, default=None) password = Column(String(255, convert_unicode=False), nullable=True, unique=None, default=None) active = Column(Boolean(), nullable=True, unique=None, default=True) @@ -675,7 +675,7 @@ ) __mapper_args__ = {} - user_api_key_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + user_api_key_id = Column(Integer(), nullable=False, unique=True, primary_key=True) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=True, unique=None, default=None) api_key = Column(String(255, convert_unicode=False), nullable=False, unique=True) description = Column(UnicodeText(1024)) @@ -701,7 +701,7 @@ ) __mapper_args__ = {} - email_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + email_id = Column(Integer(), nullable=False, unique=True, primary_key=True) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=True, unique=None, default=None) _email = Column("email", String(255, convert_unicode=False), nullable=True, unique=False, default=None) user = relationship('User') @@ -732,7 +732,7 @@ ) __mapper_args__ = {} - ip_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + ip_id = Column(Integer(), nullable=False, unique=True, primary_key=True) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=True, unique=None, default=None) ip_addr = Column(String(255, convert_unicode=False), nullable=True, unique=False, default=None) active = Column(Boolean(), nullable=True, unique=None, default=True) @@ -760,7 +760,7 @@ {'extend_existing': True, 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8', 'sqlite_autoincrement': True}, ) - user_log_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + user_log_id = Column(Integer(), nullable=False, unique=True, primary_key=True) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=True, unique=None, default=None) username = Column(String(255, convert_unicode=False), nullable=True, unique=None, default=None) repository_id = Column(Integer(), ForeignKey('repositories.repo_id'), nullable=True) @@ -789,7 +789,7 @@ 'mysql_charset': 'utf8', 'sqlite_autoincrement': True}, ) - users_group_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + users_group_id = Column(Integer(), nullable=False, unique=True, primary_key=True) users_group_name = Column(String(255, convert_unicode=False), nullable=False, unique=True, default=None) user_group_description = Column(String(10000, convert_unicode=False), nullable=True, unique=None, default=None) users_group_active = Column(Boolean(), nullable=True, unique=None, default=None) @@ -879,7 +879,7 @@ 'mysql_charset': 'utf8', 'sqlite_autoincrement': True}, ) - users_group_member_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + users_group_member_id = Column(Integer(), nullable=False, unique=True, primary_key=True) users_group_id = Column(Integer(), ForeignKey('users_groups.users_group_id'), nullable=False, unique=None, default=None) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) @@ -900,7 +900,7 @@ ) PREFIX = 'ex_' # prefix used in form to not conflict with already existing fields - repo_field_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + repo_field_id = Column(Integer(), nullable=False, unique=True, primary_key=True) repository_id = Column(Integer(), ForeignKey('repositories.repo_id'), nullable=False, unique=None, default=None) field_key = Column(String(250, convert_unicode=False)) field_label = Column(String(1024, convert_unicode=False), nullable=False) @@ -944,7 +944,7 @@ STATE_PENDING = 'repo_state_pending' STATE_ERROR = 'repo_state_error' - repo_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + repo_id = Column(Integer(), nullable=False, unique=True, primary_key=True) repo_name = Column(String(255, convert_unicode=False), nullable=False, unique=True, default=None) repo_state = Column(String(255), nullable=True) @@ -1464,7 +1464,7 @@ SEP = ' » ' - group_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + group_id = Column(Integer(), nullable=False, unique=True, primary_key=True) group_name = Column(String(255, convert_unicode=False), nullable=False, unique=True, default=None) group_parent_id = Column(Integer(), ForeignKey('groups.group_id'), nullable=True, unique=None, default=None) group_description = Column(String(10000, convert_unicode=False), nullable=True, unique=None, default=None) @@ -1729,7 +1729,7 @@ 'hg.create.repository': 1 } - permission_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + permission_id = Column(Integer(), nullable=False, unique=True, primary_key=True) permission_name = Column(String(255, convert_unicode=False), nullable=True, unique=None, default=None) permission_longname = Column(String(255, convert_unicode=False), nullable=True, unique=None, default=None) @@ -1777,7 +1777,7 @@ {'extend_existing': True, 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8', 'sqlite_autoincrement': True} ) - repo_to_perm_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + repo_to_perm_id = Column(Integer(), nullable=False, unique=True, primary_key=True) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) permission_id = Column(Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) repository_id = Column(Integer(), ForeignKey('repositories.repo_id'), nullable=False, unique=None, default=None) @@ -1806,7 +1806,7 @@ {'extend_existing': True, 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8', 'sqlite_autoincrement': True} ) - user_user_group_to_perm_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + user_user_group_to_perm_id = Column(Integer(), nullable=False, unique=True, primary_key=True) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) permission_id = Column(Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) user_group_id = Column(Integer(), ForeignKey('users_groups.users_group_id'), nullable=False, unique=None, default=None) @@ -1835,7 +1835,7 @@ {'extend_existing': True, 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8', 'sqlite_autoincrement': True} ) - user_to_perm_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + user_to_perm_id = Column(Integer(), nullable=False, unique=True, primary_key=True) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) permission_id = Column(Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) @@ -1853,7 +1853,7 @@ {'extend_existing': True, 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8', 'sqlite_autoincrement': True} ) - users_group_to_perm_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + users_group_to_perm_id = Column(Integer(), nullable=False, unique=True, primary_key=True) users_group_id = Column(Integer(), ForeignKey('users_groups.users_group_id'), nullable=False, unique=None, default=None) permission_id = Column(Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) repository_id = Column(Integer(), ForeignKey('repositories.repo_id'), nullable=False, unique=None, default=None) @@ -1883,7 +1883,7 @@ {'extend_existing': True, 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8', 'sqlite_autoincrement': True} ) - user_group_user_group_to_perm_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + user_group_user_group_to_perm_id = Column(Integer(), nullable=False, unique=True, primary_key=True) target_user_group_id = Column(Integer(), ForeignKey('users_groups.users_group_id'), nullable=False, unique=None, default=None) permission_id = Column(Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) user_group_id = Column(Integer(), ForeignKey('users_groups.users_group_id'), nullable=False, unique=None, default=None) @@ -1912,7 +1912,7 @@ {'extend_existing': True, 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8', 'sqlite_autoincrement': True} ) - users_group_to_perm_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + users_group_to_perm_id = Column(Integer(), nullable=False, unique=True, primary_key=True) users_group_id = Column(Integer(), ForeignKey('users_groups.users_group_id'), nullable=False, unique=None, default=None) permission_id = Column(Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) @@ -1928,7 +1928,7 @@ 'mysql_charset': 'utf8', 'sqlite_autoincrement': True} ) - group_to_perm_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + group_to_perm_id = Column(Integer(), nullable=False, unique=True, primary_key=True) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) group_id = Column(Integer(), ForeignKey('groups.group_id'), nullable=False, unique=None, default=None) permission_id = Column(Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) @@ -1955,7 +1955,7 @@ 'mysql_charset': 'utf8', 'sqlite_autoincrement': True} ) - users_group_repo_group_to_perm_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + users_group_repo_group_to_perm_id = Column(Integer(), nullable=False, unique=True, primary_key=True) users_group_id = Column(Integer(), ForeignKey('users_groups.users_group_id'), nullable=False, unique=None, default=None) group_id = Column(Integer(), ForeignKey('groups.group_id'), nullable=False, unique=None, default=None) permission_id = Column(Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) @@ -1981,7 +1981,7 @@ {'extend_existing': True, 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8', 'sqlite_autoincrement': True} ) - stat_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + stat_id = Column(Integer(), nullable=False, unique=True, primary_key=True) repository_id = Column(Integer(), ForeignKey('repositories.repo_id'), nullable=False, unique=True, default=None) stat_on_revision = Column(Integer(), nullable=False) commit_activity = Column(LargeBinary(1000000), nullable=False)#JSON data @@ -2000,7 +2000,7 @@ 'mysql_charset': 'utf8', 'sqlite_autoincrement': True} ) - user_following_id = Column(Integer(), nullable=False, unique=True, default=None, primary_key=True) + user_following_id = Column(Integer(), nullable=False, unique=True, primary_key=True) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) follows_repo_id = Column("follows_repository_id", Integer(), ForeignKey('repositories.repo_id'), nullable=True, unique=None, default=None) follows_user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=True, unique=None, default=None) @@ -2145,7 +2145,7 @@ {'extend_existing': True, 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8', 'sqlite_autoincrement': True}, ) - comment_id = Column(Integer(), nullable=False, primary_key=True) + comment_id = Column(Integer(), nullable=False, unique=True, primary_key=True) repo_id = Column(Integer(), ForeignKey('repositories.repo_id'), nullable=False) revision = Column(String(40)) pull_request_id = Column(Integer(), ForeignKey('pull_requests.pull_request_id')) @@ -2208,7 +2208,7 @@ (STATUS_UNDER_REVIEW, _("Under Review")), ] - changeset_status_id = Column(Integer(), nullable=False, primary_key=True) + changeset_status_id = Column(Integer(), nullable=False, unique=True, primary_key=True) repo_id = Column(Integer(), ForeignKey('repositories.repo_id'), nullable=False) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=False, unique=None) revision = Column(String(40), nullable=False) @@ -2251,7 +2251,7 @@ STATUS_NEW = u'new' STATUS_CLOSED = u'closed' - pull_request_id = Column(Integer(), primary_key=True) + pull_request_id = Column(Integer(), nullable=False, unique=True, primary_key=True) title = Column(Unicode(255), nullable=True) description = Column(UnicodeText(10240)) status = Column(Unicode(255), nullable=False, default=STATUS_NEW) # only for closedness, not approve/reject/etc @@ -2346,7 +2346,7 @@ self.user = user self.pull_request = pull_request - pull_requests_reviewers_id = Column(Integer(), nullable=False, primary_key=True) + pull_requests_reviewers_id = Column(Integer(), nullable=False, unique=True, primary_key=True) pull_request_id = Column(Integer(), ForeignKey('pull_requests.pull_request_id'), nullable=False) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=True) @@ -2369,7 +2369,7 @@ TYPE_PULL_REQUEST = u'pull_request' TYPE_PULL_REQUEST_COMMENT = u'pull_request_comment' - notification_id = Column(Integer(), nullable=False, primary_key=True) + notification_id = Column(Integer(), nullable=False, unique=True, primary_key=True) subject = Column(Unicode(512), nullable=True) body = Column(UnicodeText(50000), nullable=True) created_by = Column(Integer(), ForeignKey('users.user_id'), nullable=True) @@ -2444,7 +2444,7 @@ GIST_PRIVATE = u'private' DEFAULT_FILENAME = u'gistfile1.txt' - gist_id = Column(Integer(), primary_key=True) + gist_id = Column(Integer(), nullable=False, unique=True, primary_key=True) gist_access_id = Column(Unicode(250)) gist_description = Column(UnicodeText(1024)) gist_owner = Column('user_id', Integer(), ForeignKey('users.user_id'), nullable=True) @@ -2528,6 +2528,6 @@ {'extend_existing': True, 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8', 'sqlite_autoincrement': True}, ) - repository_id = Column(String(250), primary_key=True) + repository_id = Column(String(250), nullable=False, unique=True, primary_key=True) repository_path = Column(Text) version = Column(Integer)