From 349cc7ec00ae23f6c99e10e1e8112c7aba979cd6 Mon Sep 17 00:00:00 2001
From: mykola2312 <49044616+mykola2312@users.noreply.github.com>
Date: Sat, 13 Apr 2024 09:31:21 +0300
Subject: [PATCH] setup jooq and flyway for db mapping & migrations
---
.gitignore | 3 +-
pom.xml | 66 +++++++++++++++++++
src/main/java/com/mykola2312/mptv/Main.java | 10 +++
.../resources/db/migration/V001.01__init.sql | 3 +
4 files changed, 81 insertions(+), 1 deletion(-)
create mode 100644 src/main/resources/db/migration/V001.01__init.sql
diff --git a/.gitignore b/.gitignore
index eac5b51..2bc9bb7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,4 +40,5 @@ build/
.idea/
# mptv
-config.json
\ No newline at end of file
+config.json
+*.db
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 8e3b3a3..aa435fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,6 +30,35 @@
commons-cli
1.6.0
+
+
+
+ org.xerial
+ sqlite-jdbc
+ 3.45.2.0
+
+
+ org.flywaydb
+ flyway-core
+ 10.11.0
+
+
+
+
+ org.jooq
+ jooq
+ 3.19.7
+
+
+ org.jooq
+ jooq-meta
+ 3.19.7
+
+
+ org.jooq
+ jooq-codegen
+ 3.19.7
+
@@ -40,6 +69,43 @@
maven-surefire-plugin
3.2.5
+
+
+
+ org.jooq
+ jooq-codegen-maven
+ 3.19.7
+
+
+
+ generate-sources
+
+ generate
+
+
+
+
+
+
+ org.sqlite.JDBC
+ jdbc:sqlite:mptv.db
+
+
+
+
+ *.
+ flyway_schema_history
+
+
+ true
+
+
+ com.mykola2312.mptv
+ target/generated-sources/jooq
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/mykola2312/mptv/Main.java b/src/main/java/com/mykola2312/mptv/Main.java
index a82024c..8dada31 100644
--- a/src/main/java/com/mykola2312/mptv/Main.java
+++ b/src/main/java/com/mykola2312/mptv/Main.java
@@ -3,6 +3,8 @@ package com.mykola2312.mptv;
import com.mykola2312.mptv.config.Config;
import com.mykola2312.mptv.ui.MainFrame;
import org.apache.commons.cli.*;
+import org.flywaydb.core.Flyway;
+import org.flywaydb.core.api.configuration.Configuration;
import java.io.IOException;
@@ -36,5 +38,13 @@ public class Main {
MainFrame frame = new MainFrame();
frame.create(config.frame);
+
+ Flyway flyway = new Flyway(
+ Flyway.configure()
+ .dataSource("jdbc:sqlite:mptv.db", "", "")
+ .load()
+ .getConfiguration()
+ );
+ flyway.migrate();
}
}
diff --git a/src/main/resources/db/migration/V001.01__init.sql b/src/main/resources/db/migration/V001.01__init.sql
new file mode 100644
index 0000000..dabe9b9
--- /dev/null
+++ b/src/main/resources/db/migration/V001.01__init.sql
@@ -0,0 +1,3 @@
+CREATE TABLE test (
+ id INTEGER PRIMARY KEY AUTOINCREMENT
+);
\ No newline at end of file