Files
Calibre-Web-Automated/scripts/cwa_schema.sql
T
crocodilestick 42e7aabe5f feat: Add retained formats functionality for auto-conversion
Implements ability to keep original book formats after conversion to target format.
Users can now select which formats to retain via CWA settings UI.

Features:
- New auto_convert_retained_formats setting with checkbox grid UI
- Automatic conflict prevention (target format always retained)
- Database migration support for backward compatibility
- Enhanced ingest processor with robust format addition logic

Credit to @angelicadvocate for original implementation concept in PR #284.

Fixes edge cases including race conditions, UI state handling, and iteration safety.
2025-09-12 21:34:32 +02:00

72 lines
3.2 KiB
SQL

CREATE TABLE IF NOT EXISTS cwa_enforcement(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
timestamp TEXT NOT NULL,
book_id INTEGER NOT NULL,
book_title TEXT NOT NULL,
author TEXT NOT NULL,
file_path TEXT NOT NULL,
trigger_type TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS cwa_import(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
timestamp TEXT NOT NULL,
filename TEXT NOT NULL,
original_backed_up TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS cwa_conversions(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
timestamp TEXT NOT NULL,
filename TEXT NOT NULL,
original_format TEXT NOT NULL,
original_backed_up TEXT NOT NULL,
end_format TEXT DEFAULT "" NOT NULL
);
CREATE TABLE IF NOT EXISTS epub_fixes(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
timestamp TEXT NOT NULL,
filename TEXT NOT NULL,
manually_triggered TEXT NOT NULL,
num_of_fixes_applied TEXT NOT NULL,
original_backed_up TEXT NOT NULL,
file_path TEXT NOT NULL,
fixes_applied TEXT DEFAULT ""
);
CREATE TABLE IF NOT EXISTS cwa_settings(
default_settings SMALLINT DEFAULT 1 NOT NULL,
auto_backup_imports SMALLINT DEFAULT 1 NOT NULL,
auto_backup_conversions SMALLINT DEFAULT 1 NOT NULL,
auto_zip_backups SMALLINT DEFAULT 1 NOT NULL,
cwa_update_notifications SMALLINT DEFAULT 1 NOT NULL,
contribute_translations_notifications SMALLINT DEFAULT 1 NOT NULL,
auto_convert SMALLINT DEFAULT 1 NOT NULL,
auto_convert_target_format TEXT DEFAULT "epub" NOT NULL,
auto_convert_ignored_formats TEXT DEFAULT "" NOT NULL,
auto_ingest_ignored_formats TEXT DEFAULT "" NOT NULL,
auto_convert_retained_formats TEXT DEFAULT "" NOT NULL,
auto_ingest_automerge TEXT DEFAULT "new_record" NOT NULL,
ingest_timeout_minutes INTEGER DEFAULT 15 NOT NULL,
auto_metadata_enforcement SMALLINT DEFAULT 1 NOT NULL,
kindle_epub_fixer SMALLINT DEFAULT 1 NOT NULL,
auto_backup_epub_fixes SMALLINT DEFAULT 1 NOT NULL,
enable_mobile_blur SMALLINT DEFAULT 1 NOT NULL,
auto_metadata_fetch_enabled SMALLINT DEFAULT 0 NOT NULL,
auto_metadata_smart_application SMALLINT DEFAULT 0 NOT NULL,
auto_metadata_update_title SMALLINT DEFAULT 1 NOT NULL,
auto_metadata_update_authors SMALLINT DEFAULT 1 NOT NULL,
auto_metadata_update_description SMALLINT DEFAULT 1 NOT NULL,
auto_metadata_update_publisher SMALLINT DEFAULT 1 NOT NULL,
auto_metadata_update_tags SMALLINT DEFAULT 1 NOT NULL,
auto_metadata_update_series SMALLINT DEFAULT 1 NOT NULL,
auto_metadata_update_rating SMALLINT DEFAULT 1 NOT NULL,
auto_metadata_update_published_date SMALLINT DEFAULT 1 NOT NULL,
auto_metadata_update_identifiers SMALLINT DEFAULT 1 NOT NULL,
auto_metadata_update_cover SMALLINT DEFAULT 1 NOT NULL,
metadata_provider_hierarchy TEXT DEFAULT '["ibdb","google","dnb"]' NOT NULL,
auto_send_delay_minutes INTEGER DEFAULT 5 NOT NULL,
duplicate_detection_title SMALLINT DEFAULT 1 NOT NULL,
duplicate_detection_author SMALLINT DEFAULT 1 NOT NULL,
duplicate_detection_language SMALLINT DEFAULT 1 NOT NULL,
duplicate_detection_series SMALLINT DEFAULT 0 NOT NULL,
duplicate_detection_publisher SMALLINT DEFAULT 0 NOT NULL,
duplicate_detection_format SMALLINT DEFAULT 0 NOT NULL
);