summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pom.xml47
-rw-r--r--src/main/resources/application.properties5
-rw-r--r--src/main/resources/db/changeLog-1.0.xml1163
-rw-r--r--src/main/resources/db/changeLog.xml11
-rw-r--r--src/main/resources/db/liquibase.properties3
5 files changed, 1221 insertions, 8 deletions
diff --git a/pom.xml b/pom.xml
index f00f01b..906386c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,6 +35,8 @@
<jakarta-jacc-api.version>1.6.1</jakarta-jacc-api.version>
<jna.version>5.5.0</jna.version>
<jsoup.version>1.13.1</jsoup.version>
+ <liquibase.version>3.9.0</liquibase.version>
+ <postgresql.version>42.2.14</postgresql.version>
<rome.version>1.13.0</rome.version>
</properties>
@@ -129,10 +131,6 @@
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
- <artifactId>quarkus-flyway</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
<artifactId>quarkus-hibernate-orm-panache</artifactId>
</dependency>
<dependency>
@@ -145,6 +143,10 @@
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
+ <artifactId>quarkus-liquibase</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
<artifactId>quarkus-oidc</artifactId>
</dependency>
<dependency>
@@ -259,6 +261,43 @@
</configuration>
</plugin>
+ <!-- Liquibase -->
+ <plugin>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-maven-plugin</artifactId>
+ <version>${liquibase.version}</version>
+ <configuration>
+ <propertyFile>src/main/resources/db/liquibase.properties</propertyFile>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.liquibase.ext</groupId>
+ <artifactId>liquibase-hibernate5</artifactId> <!-- note: I tried hibernate4 release version as well -->
+ <version>${liquibase.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>${hibernate.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>${hibernate.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-envers</artifactId>
+ <version>${hibernate.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ <version>${postgresql.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
<!-- Google Java Code Formatter, for enforcing style conventions -->
<plugin>
<groupId>com.diffplug.spotless</groupId>
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 6c2146e..2bcffcc 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -14,10 +14,7 @@ quarkus.datasource.driver = org.postgresql.Driver
quarkus.datasource.max-size = 8
quarkus.datasource.min-size = 0
-#quarkus.flyway.migrate-at-start = true
-#quarkus.flyway.baseline-on-migrate = true
-#quarkus.flyway.baseline-version = 1
-#quarkus.flyway.schemas = public
+quarkus.liquibase.migrate-at-start = true
%dev.quarkus.datasource.url = jdbc:postgresql://localhost:5432/mulkcms
%dev.quarkus.datasource.username = mulk
diff --git a/src/main/resources/db/changeLog-1.0.xml b/src/main/resources/db/changeLog-1.0.xml
new file mode 100644
index 0000000..c4c911a
--- /dev/null
+++ b/src/main/resources/db/changeLog-1.0.xml
@@ -0,0 +1,1163 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog
+ xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+ xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
+ xmlns:pro="http://www.liquibase.org/xml/ns/pro"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.liquibase.org/xml/ns/dbchangelog-ext
+ http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd
+ http://www.liquibase.org/xml/ns/pro
+ http://www.liquibase.org/xml/ns/pro/liquibase-pro-3.9.xsd
+ http://www.liquibase.org/xml/ns/dbchangelog
+ http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.9.xsd">
+
+ <changeSet author="mulk (generated)" id="1592058325319-1">
+ <createTable tableName="article_types">
+ <column autoIncrement="true" name="id" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="article_types_pkey"/>
+ </column>
+ <column name="name" type="VARCHAR"/>
+ <column name="page_template" type="VARCHAR"/>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-2">
+ <createTable tableName="cached_pages">
+ <column name="alias" type="VARCHAR">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="cached_pages_pkey"/>
+ </column>
+ <column name="characteristic_hash" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="cached_pages_pkey"/>
+ </column>
+ <column defaultValueComputed="now()" name="date" type="TIMESTAMP WITHOUT TIME ZONE">
+ <constraints nullable="false"/>
+ </column>
+ <column name="content" type="VARCHAR">
+ <constraints nullable="false"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-3">
+ <createTable tableName="used_transaction_keys">
+ <column name="key" type="BIGINT">
+ <constraints nullable="false" primaryKey="true"
+ primaryKeyName="used_transaction_keys_pkey"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-4">
+ <createTable tableName="users">
+ <column autoIncrement="true" name="id" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="users_pkey"/>
+ </column>
+ <column name="name" type="VARCHAR"/>
+ <column name="status" type="VARCHAR">
+ <constraints nullable="false"/>
+ </column>
+ <column name="email" type="VARCHAR"/>
+ <column name="website" type="VARCHAR"/>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-5">
+ <createTable tableName="openids">
+ <column name="user" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="openids_pkey"/>
+ </column>
+ <column name="openid" type="VARCHAR">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="openids_pkey"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-6">
+ <createTable tableName="passwords">
+ <column name="user" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="passwords_pkey"/>
+ </column>
+ <column name="password" type="VARCHAR">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="passwords_pkey"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-7">
+ <createTable tableName="articles">
+ <column autoIncrement="true" name="id" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="articles_pkey"/>
+ </column>
+ <column name="type" type="INTEGER">
+ <constraints nullable="false"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-8">
+ <createTable tableName="journal_pingback">
+ <column autoIncrement="true" name="id" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="journal_pingbackpk"/>
+ </column>
+ <column name="entry_id" type="INTEGER">
+ <constraints nullable="false"/>
+ </column>
+ <column name="uuid" type="CHAR(36)">
+ <constraints nullable="false"/>
+ </column>
+ <column name="date" type="BIGINT">
+ <constraints nullable="false"/>
+ </column>
+ <column name="url" type="TEXT"/>
+ <column name="spam_p" type="BOOLEAN"/>
+ <column name="submitter_ip" type="TEXT">
+ <constraints nullable="false"/>
+ </column>
+ <column name="submitter_user_agent" type="TEXT">
+ <constraints nullable="false"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-9">
+ <createTable tableName="article_revisions">
+ <column autoIncrement="true" name="id" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="article_revisions_pkey"/>
+ </column>
+ <column name="article" type="INTEGER">
+ <constraints nullable="false"/>
+ </column>
+ <column defaultValueComputed="now()" name="date" type="TIMESTAMP WITHOUT TIME ZONE"/>
+ <column name="title" type="VARCHAR">
+ <constraints nullable="false"/>
+ </column>
+ <column name="content" type="VARCHAR">
+ <constraints nullable="false"/>
+ </column>
+ <column name="author" type="INTEGER"/>
+ <column name="format" type="VARCHAR">
+ <constraints nullable="false"/>
+ </column>
+ <column name="status" type="VARCHAR">
+ <constraints nullable="false"/>
+ </column>
+ <column name="global_id" type="VARCHAR"/>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-10">
+ <createTable tableName="article_revision_parenthood">
+ <column name="parent" type="INTEGER">
+ <constraints nullable="false" primaryKey="true"
+ primaryKeyName="article_revision_parenthood_pkey"/>
+ </column>
+ <column name="child" type="INTEGER">
+ <constraints nullable="false" primaryKey="true"
+ primaryKeyName="article_revision_parenthood_pkey"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-11">
+ <createTable tableName="journal_comment">
+ <column autoIncrement="true" name="id" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="JOURNAL_COMMENTPK"/>
+ </column>
+ <column name="entry_id" type="INTEGER">
+ <constraints nullable="false"/>
+ </column>
+ <column name="uuid" type="CHAR(36)">
+ <constraints nullable="false"/>
+ </column>
+ <column name="date" type="BIGINT">
+ <constraints nullable="false"/>
+ </column>
+ <column name="body" type="TEXT">
+ <constraints nullable="false"/>
+ </column>
+ <column name="author" type="TEXT"/>
+ <column name="email" type="TEXT"/>
+ <column name="website" type="TEXT"/>
+ <column name="spam_p" type="BOOLEAN"/>
+ <column defaultValue="0.0.0.0" name="submitter_ip" type="TEXT">
+ <constraints nullable="false"/>
+ </column>
+ <column name="submitter_user_agent" type="TEXT">
+ <constraints nullable="false"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-12">
+ <createTable tableName="user_permissions">
+ <column name="user" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="user_permissions_pkey"/>
+ </column>
+ <column name="permission" type="VARCHAR">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="user_permissions_pkey"/>
+ </column>
+ <column name="status" type="BOOLEAN"/>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-13">
+ <createTable tableName="journal_category">
+ <column autoIncrement="true" name="id" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="journal_categorypk"/>
+ </column>
+ <column name="uuid" type="CHAR(36)">
+ <constraints nullable="false"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-14">
+ <createTable tableName="journals">
+ <column name="id" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="journals_pkey"/>
+ </column>
+ <column name="path_prefix" type="VARCHAR"/>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-15">
+ <createTable tableName="category_inclusions">
+ <column name="category" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="category_inclusions_pkey"/>
+ </column>
+ <column name="supercategory" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="category_inclusions_pkey"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-16">
+ <createTable tableName="journal_entry">
+ <column autoIncrement="true" name="id" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="journal_entrypk"/>
+ </column>
+ <column name="uuid" type="CHAR(36)">
+ <constraints nullable="false"/>
+ </column>
+ <column name="title" type="TEXT">
+ <constraints nullable="false"/>
+ </column>
+ <column name="date" type="BIGINT">
+ <constraints nullable="false"/>
+ </column>
+ <column name="last_modification" type="BIGINT"/>
+ <column name="body" type="TEXT">
+ <constraints nullable="false"/>
+ </column>
+ <column defaultValue="markdown" name="type" type="TEXT">
+ <constraints nullable="false"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-17">
+ <createTable tableName="journal_trackback">
+ <column autoIncrement="true" name="id" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="journal_trackbackpk"/>
+ </column>
+ <column name="entry_id" type="INTEGER">
+ <constraints nullable="false"/>
+ </column>
+ <column name="uuid" type="CHAR(36)">
+ <constraints nullable="false"/>
+ </column>
+ <column name="date" type="BIGINT">
+ <constraints nullable="false"/>
+ </column>
+ <column name="excerpt" type="TEXT">
+ <constraints nullable="false"/>
+ </column>
+ <column name="title" type="TEXT"/>
+ <column name="blog_name" type="TEXT"/>
+ <column name="url" type="TEXT"/>
+ <column name="spam_p" type="BOOLEAN"/>
+ <column name="submitter_ip" type="TEXT">
+ <constraints nullable="false"/>
+ </column>
+ <column name="submitter_user_agent" type="TEXT">
+ <constraints nullable="false"/>
+ </column>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-18">
+ <createTable tableName="user_settings">
+ <column name="user" type="INTEGER">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="user_settings_pkey"/>
+ </column>
+ <column name="setting" type="VARCHAR">
+ <constraints nullable="false" primaryKey="true" primaryKeyName="user_settings_pkey"/>
+ </column>
+ <column name="value" type="VARCHAR"/>
+ </createTable>
+ </changeSet>
+
+ <changeSet author="mulk (generated)" id="1592058325319-19">
+ <createTable tableName="article_category_memberships">
+ <column name="article" type="INTEGER">
+ <constraints nullable="false" primaryKey="true"
+ primaryKeyName="article_category_memberships_pkey"/>
+ </column>
+ <column name="category" type="VARCHAR">
+ <constraints nullable="false" primaryKey="true"