async def update_schema_v_1_2_5_0() -> bool: column_definitions = [('dailynotifyid', 'TEXT', False, False), ('dailynotifytype', 'TEXT', False, False)] schema_version = await get_schema_version() if schema_version: compare_1250 = util.compare_versions(schema_version, '1.2.5.0') compare_1240 = util.compare_versions(schema_version, '1.2.4.0') if compare_1250 <= 0: return True elif compare_1240 > 0: return False print( f'[update_schema_v_1_2_5_0] Updating database schema from v1.2.4.0 to v1.2.5.0' ) query_lines = [] for (column_name, column_type, column_is_primary, column_not_null) in column_definitions: column_definition = util.db_get_column_definition( column_name, column_type, is_primary=column_is_primary, not_null=column_not_null) query_lines.append( f'ALTER TABLE serversettings ADD COLUMN IF NOT EXISTS {column_definition};' ) query = '\n'.join(query_lines) success = await try_execute(query) if success: success = await try_set_schema_version('1.2.5.0') return success
def db_update_schema_v_1_2_4_0(): column_definitions = [('dailydeleteonchange', 'BOOLEAN', False, False, None)] schema_version = db_get_schema_version() if schema_version: compare_1240 = util.compare_versions(schema_version, '1.2.4.0') compare_1220 = util.compare_versions(schema_version, '1.2.2.0') if compare_1240 <= 0: return True elif compare_1220 > 0: return False query_lines = [] for (column_name, column_type, column_is_primary, column_not_null, column_default) in column_definitions: column_definition = util.db_get_column_definition( column_name, column_type, is_primary=column_is_primary, not_null=column_not_null, default=column_default) query_lines.append( f'ALTER TABLE serversettings ADD COLUMN IF NOT EXISTS {column_definition}' ) query = '\n'.join(query_lines) success = db_try_execute(query) if success: utc_now = util.get_utcnow() daily_info = daily.get_daily_info() success = daily.db_set_daily_info(daily_info, utc_now) if success: success = db_try_set_schema_version('1.2.4.0') return success
def db_update_schema_v_1_2_6_0(): column_definitions_serversettings = [ ('dailylatestmessagecreatedate', 'TIMESTAMPTZ', False, False), ('dailylatestmessagemodifydate', 'TIMESTAMPTZ', False, False) ] schema_version = db_get_schema_version() if schema_version: compare_1260 = util.compare_versions(schema_version, '1.2.6.0') compare_1250 = util.compare_versions(schema_version, '1.2.5.0') if compare_1260 <= 0: return True elif compare_1250 > 0: return False query_lines = [] for (column_name, column_type, column_is_primary, column_not_null) in column_definitions_serversettings: column_definition = util.db_get_column_definition( column_name, column_type, is_primary=column_is_primary, not_null=column_not_null) query_lines.append( f'ALTER TABLE serversettings ADD COLUMN IF NOT EXISTS {column_definition};' ) query = '\n'.join(query_lines) success = db_try_execute(query) if success: success = db_try_set_schema_version('1.2.6.0') return success
def get_column_list(column_definitions: list) -> str: __log_db_function_enter('get_column_list', column_definitions=column_definitions) result = [] for column_definition in column_definitions: result.append(util.db_get_column_definition(*column_definition)) return ', '.join(result)
def db_get_column_list(column_definitions: list) -> str: result = [] for column_definition in column_definitions: result.append(util.db_get_column_definition(*column_definition)) return ', '.join(result)