From a80da909b75b3b0cb65c6a86287003dc353e5ff4 Mon Sep 17 00:00:00 2001 From: mykola2312 <49044616+mykola2312@users.noreply.github.com> Date: Sat, 20 Apr 2024 14:48:32 +0300 Subject: [PATCH] begin implementing proper database --- src/main/java/com/mykola2312/mptv/Main.java | 32 ++----------------- .../resources/db/migration/V001.01__init.sql | 22 ++++++++++--- 2 files changed, 20 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/mykola2312/mptv/Main.java b/src/main/java/com/mykola2312/mptv/Main.java index d978858..1755c15 100644 --- a/src/main/java/com/mykola2312/mptv/Main.java +++ b/src/main/java/com/mykola2312/mptv/Main.java @@ -1,20 +1,13 @@ package com.mykola2312.mptv; import com.mykola2312.mptv.config.Config; -import com.mykola2312.mptv.crawler.WebRequest; import com.mykola2312.mptv.db.DB; import com.mykola2312.mptv.ui.MainFrame; import org.apache.commons.cli.*; import org.apache.log4j.Logger; import org.flywaydb.core.Flyway; -import org.checkerframework.checker.nullness.qual.*; - -import static com.mykola2312.mptv.tables.Test.*; -import org.jooq.*; -import org.jooq.impl.*; import java.io.IOException; -import java.util.List; public class Main { private static final Logger logger = Logger.getLogger(Main.class); @@ -61,9 +54,6 @@ public class Main { return; } - MainFrame frame = new MainFrame(); - frame.create(config.frame); - Flyway flyway = new Flyway( Flyway.configure() .dataSource(DB.URL, DB.USER, DB.PASSWORD) @@ -72,26 +62,8 @@ public class Main { ); flyway.migrate(); - DSLContext create = DSL.using(DB.CONFIG); - @NonNull List result = create - .select() - .from(TEST) - .fetchInto(Test.class); - for (Test t : result) { - System.out.printf("%d: %s\n", t.id, t.value); - } - - create = DSL.using(DB.CONFIG); - Test test = create - .select() - .from(TEST) - .limit(1) - .fetchOne() - .into(Test.class); - System.out.printf("fetchOne -> %d: %s\n", test.id, test.value); - - WebRequest get = new WebRequest("https://example.com"); - System.out.println(get.fetch().body); + MainFrame frame = new MainFrame(); + frame.create(config.frame); logger.info("mptv started"); } diff --git a/src/main/resources/db/migration/V001.01__init.sql b/src/main/resources/db/migration/V001.01__init.sql index e423923..120266c 100644 --- a/src/main/resources/db/migration/V001.01__init.sql +++ b/src/main/resources/db/migration/V001.01__init.sql @@ -1,4 +1,18 @@ -CREATE TABLE test ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - value TEXT NOT NULL -); \ No newline at end of file +CREATE TABLE category ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + title TEXT NOT NULL +); + +CREATE INDEX idx_category_title ON category(title); + +CREATE TABLE channel ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + category INTEGER NOT NULL, + title TEXT NOT NULL, + url TEXT NOT NULL, + logo TEXT, + + FOREIGN KEY (category) REFERENCES category(id) +); + +CREATE INDEX idx_channel_title ON channel(title); \ No newline at end of file