modify scripts

This commit is contained in:
oscarz
2025-03-18 18:08:14 +08:00
parent 96ab26c429
commit 8abde761c6

View File

@ -15,6 +15,12 @@ tbl_name_books = 'books'
tbl_name_chapters_prefix = 'chapters' tbl_name_chapters_prefix = 'chapters'
tbl_name_section = 'books_sections' tbl_name_section = 'books_sections'
# 检查 SQLite 版本
sqlite_version = sqlite3.sqlite_version_info
if sqlite_version < (3, 24, 0):
logging.warning("当前 SQLite 版本低于 3.24.0,可能不支持 ON CONFLICT 子句。")
# 获取表的列名和默认值 # 获取表的列名和默认值
def get_table_columns_and_defaults(tbl_name): def get_table_columns_and_defaults(tbl_name):
try: try:
@ -61,7 +67,7 @@ def insert_or_update_common(data, tbl_name, uniq_key='href'):
columns = ', '.join(processed_data.keys()) columns = ', '.join(processed_data.keys())
values = list(processed_data.values()) values = list(processed_data.values())
placeholders = ', '.join(['?' for _ in values]) placeholders = ', '.join(['?' for _ in values])
update_clause = ', '.join([f"{col}=EXCLUDED.{col}" for col in processed_data.keys() if col != {uniq_key}]) + ', updated_at=datetime(\'now\', \'localtime\')' update_clause = ', '.join([f"{col}=EXCLUDED.{col}" for col in processed_data.keys() if col != uniq_key]) + ', updated_at=datetime(\'now\', \'localtime\')'
sql = f''' sql = f'''
INSERT INTO {tbl_name} ({columns}, updated_at) INSERT INTO {tbl_name} ({columns}, updated_at)