diff options
| -rw-r--r-- | pom.xml | 47 | ||||
| -rw-r--r-- | src/main/resources/application.properties | 5 | ||||
| -rw-r--r-- | src/main/resources/db/changeLog-1.0.xml | 1163 | ||||
| -rw-r--r-- | src/main/resources/db/changeLog.xml | 11 | ||||
| -rw-r--r-- | src/main/resources/db/liquibase.properties | 3 |
5 files changed, 1221 insertions, 8 deletions
@@ -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" |
