mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
fix: Sometimes I just hate to work on SQL, I blame Android's outdated SQLite
This commit is contained in:
parent
3132969192
commit
c589bceb84
1 changed files with 101 additions and 7 deletions
|
@ -1,4 +1,5 @@
|
||||||
import kotlin.Boolean;
|
import kotlin.Boolean;
|
||||||
|
import kotlin.Float;
|
||||||
import kotlin.Long;
|
import kotlin.Long;
|
||||||
|
|
||||||
CREATE TABLE extension_repos (
|
CREATE TABLE extension_repos (
|
||||||
|
@ -9,13 +10,14 @@ CREATE TABLE extension_repos (
|
||||||
signing_key_fingerprint TEXT UNIQUE NOT NULL
|
signing_key_fingerprint TEXT UNIQUE NOT NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
--- << Rename hideTitle to hide_title
|
--- >> Rename hideTitle to hide_title
|
||||||
DROP INDEX IF EXISTS mangas_url_index;
|
DROP INDEX IF EXISTS mangas_url_index;
|
||||||
DROP INDEX IF EXISTS library_favorite_index;
|
DROP INDEX IF EXISTS library_favorite_index;
|
||||||
|
DROP INDEX IF EXISTS chapters_manga_id_index;
|
||||||
|
DROP INDEX IF EXISTS chapters_unread_by_manga_index;
|
||||||
|
DROP INDEX IF EXISTS history_history_chapter_id_index;
|
||||||
|
|
||||||
ALTER TABLE mangas
|
ALTER TABLE mangas RENAME TO mangas_tmp;
|
||||||
RENAME TO mangas_tmp;
|
|
||||||
|
|
||||||
CREATE TABLE mangas(
|
CREATE TABLE mangas(
|
||||||
_id INTEGER NOT NULL PRIMARY KEY,
|
_id INTEGER NOT NULL PRIMARY KEY,
|
||||||
source INTEGER NOT NULL,
|
source INTEGER NOT NULL,
|
||||||
|
@ -45,8 +47,100 @@ SELECT
|
||||||
initialized, viewer, hideTitle, chapter_flags, date_added, filtered_scanlators, update_strategy
|
initialized, viewer, hideTitle, chapter_flags, date_added, filtered_scanlators, update_strategy
|
||||||
FROM mangas_tmp;
|
FROM mangas_tmp;
|
||||||
|
|
||||||
DROP TABLE mangas_tmp;
|
ALTER TABLE chapters RENAME TO chapters_tmp;
|
||||||
|
CREATE TABLE chapters(
|
||||||
|
_id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
manga_id INTEGER NOT NULL,
|
||||||
|
url TEXT NOT NULL,
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
scanlator TEXT,
|
||||||
|
read INTEGER AS Boolean NOT NULL,
|
||||||
|
bookmark INTEGER AS Boolean NOT NULL,
|
||||||
|
last_page_read INTEGER NOT NULL,
|
||||||
|
pages_left INTEGER NOT NULL,
|
||||||
|
chapter_number REAL AS Float NOT NULL,
|
||||||
|
source_order INTEGER NOT NULL,
|
||||||
|
date_fetch INTEGER AS Long NOT NULL,
|
||||||
|
date_upload INTEGER AS Long NOT NULL,
|
||||||
|
FOREIGN KEY(manga_id) REFERENCES mangas (_id)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
INSERT INTO chapters
|
||||||
|
(_id, manga_id, url, name, scanlator, read, bookmark, last_page_read, pages_left, chapter_number, source_order,
|
||||||
|
date_fetch, date_upload)
|
||||||
|
SELECT
|
||||||
|
_id, manga_id, url, name, scanlator, read, bookmark, last_page_read, pages_left, chapter_number, source_order,
|
||||||
|
date_fetch, date_upload
|
||||||
|
FROM chapters_tmp;
|
||||||
|
|
||||||
CREATE INDEX mangas_url_index ON mangas(url);
|
ALTER TABLE history RENAME TO history_tmp;
|
||||||
|
CREATE TABLE history(
|
||||||
|
history_id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
history_chapter_id INTEGER NOT NULL UNIQUE,
|
||||||
|
history_last_read INTEGER AS Long,
|
||||||
|
history_time_read INTEGER AS Long,
|
||||||
|
FOREIGN KEY(history_chapter_id) REFERENCES chapters (_id)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO history
|
||||||
|
(history_id, history_chapter_id, history_last_read, history_time_read)
|
||||||
|
SELECT
|
||||||
|
history_id, history_chapter_id, history_last_read, history_time_read
|
||||||
|
FROM history_tmp;
|
||||||
|
|
||||||
|
ALTER TABLE mangas_categories RENAME TO mangas_categories_tmp;
|
||||||
|
CREATE TABLE mangas_categories(
|
||||||
|
_id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
manga_id INTEGER NOT NULL,
|
||||||
|
category_id INTEGER NOT NULL,
|
||||||
|
FOREIGN KEY(category_id) REFERENCES categories (_id)
|
||||||
|
ON DELETE CASCADE,
|
||||||
|
FOREIGN KEY(manga_id) REFERENCES mangas (_id)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
INSERT INTO mangas_categories
|
||||||
|
(_id, manga_id, category_id)
|
||||||
|
SELECT
|
||||||
|
_id, manga_id, category_id
|
||||||
|
FROM mangas_categories_tmp;
|
||||||
|
|
||||||
|
ALTER TABLE manga_sync RENAME TO manga_sync_tmp;
|
||||||
|
CREATE TABLE manga_sync(
|
||||||
|
_id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
manga_id INTEGER NOT NULL,
|
||||||
|
sync_id INTEGER NOT NULL,
|
||||||
|
remote_id INTEGER NOT NULL,
|
||||||
|
library_id INTEGER,
|
||||||
|
title TEXT NOT NULL,
|
||||||
|
last_chapter_read REAL NOT NULL,
|
||||||
|
total_chapters INTEGER NOT NULL,
|
||||||
|
status INTEGER NOT NULL,
|
||||||
|
score REAL AS Float NOT NULL,
|
||||||
|
remote_url TEXT NOT NULL,
|
||||||
|
start_date INTEGER AS Long NOT NULL,
|
||||||
|
finish_date INTEGER AS Long NOT NULL,
|
||||||
|
UNIQUE (manga_id, sync_id) ON CONFLICT REPLACE,
|
||||||
|
FOREIGN KEY(manga_id) REFERENCES mangas (_id)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
INSERT INTO manga_sync
|
||||||
|
(_id, manga_id, sync_id, remote_id, library_id, title, last_chapter_read, total_chapters, status, score, remote_url,
|
||||||
|
start_date, finish_date)
|
||||||
|
SELECT
|
||||||
|
_id, manga_id, sync_id, remote_id, library_id, title, last_chapter_read, total_chapters, status, score, remote_url,
|
||||||
|
start_date, finish_date
|
||||||
|
FROM manga_sync_tmp;
|
||||||
|
|
||||||
|
CREATE INDEX chapters_manga_id_index ON chapters(manga_id);
|
||||||
|
CREATE INDEX chapters_unread_by_manga_index ON chapters(manga_id, read) WHERE read = 0;
|
||||||
|
CREATE INDEX history_history_chapter_id_index ON history(history_chapter_id);
|
||||||
CREATE INDEX library_favorite_index ON mangas(favorite) WHERE favorite = 1;
|
CREATE INDEX library_favorite_index ON mangas(favorite) WHERE favorite = 1;
|
||||||
--- >> Rename hideTitle to hide_title
|
CREATE INDEX mangas_url_index ON mangas(url);
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS mangas_tmp;
|
||||||
|
DROP TABLE IF EXISTS chapters_tmp;
|
||||||
|
DROP TABLE IF EXISTS history_tmp;
|
||||||
|
DROP TABLE IF EXISTS mangas_categories_tmp;
|
||||||
|
DROP TABLE IF EXISTS manga_sync_tmp;
|
||||||
|
--- << Rename hideTitle to hide_title
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue