diff options
author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2020-06-13 16:59:04 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2020-06-13 16:59:04 +0200 |
commit | 80fc431853a7105b2f1921de61d06f0fbd0cc51a (patch) | |
tree | d1ebb6a66ea55843a55e5b806ef94d468cf614a6 /src | |
parent | a0392374957b6ad8d49816916576558cce639c22 (diff) |
Add Liquibase.
Change-Id: I95f2e630f03bcf08c5a8fb2dfba80021da350c75
Diffstat (limited to 'src')
-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 |
4 files changed, 1178 insertions, 4 deletions
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" + primaryKeyName="article_category_memberships_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-20"> + <createTable tableName="categories"> + <column autoIncrement="true" name="id" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="categories_pkey"/> + </column> + <column name="name" type="VARCHAR"> + <constraints nullable="false"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-21"> + <createTable tableName="journal_entries"> + <column name="journal" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="journal_entries_pkey"/> + </column> + <column name="index" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="journal_entries_pkey"/> + </column> + <column name="article" type="INTEGER"> + <constraints nullable="false"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-22"> + <createTable tableName="article_aliases"> + <column name="alias" type="VARCHAR"> + <constraints nullable="false" primaryKey="true" primaryKeyName="article_aliases_pkey"/> + </column> + <column name="article" type="INTEGER"> + <constraints nullable="false"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-23"> + <createTable tableName="comment_revisions"> + <column autoIncrement="true" name="id" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="comment_revisions_pkey"/> + </column> + <column name="comment" type="INTEGER"> + <constraints nullable="false"/> + </column> + <column defaultValueComputed="now()" name="date" type="TIMESTAMP WITHOUT TIME ZONE"/> + <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="article_revision" type="INTEGER"/> + <column name="submitter_ip" type="INET"/> + <column name="submitter_user_agent" type="VARCHAR"/> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-24"> + <createTable tableName="article_revision_characteristics"> + <column name="revision" type="INTEGER"> + <constraints nullable="false"/> + </column> + <column name="characteristic" type="VARCHAR"> + <constraints nullable="false"/> + </column> + <column name="value" type="VARCHAR"/> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-25"> + <createTable tableName="comments"> + <column autoIncrement="true" name="id" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="comments_pkey"/> + </column> + <column name="article" type="INTEGER"> + <constraints nullable="false"/> + </column> + <column name="global_id" type="VARCHAR"/> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-26"> + <createTable tableName="login_certificates"> + <column name="user" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="login_certificates_pkey"/> + </column> + <column name="certificate" type="BYTEA"> + <constraints nullable="false" primaryKey="true" primaryKeyName="login_certificates_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-27"> + <addForeignKeyConstraint baseColumnNames="type" baseTableName="articles" + constraintName="articles_type_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="article_types" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-28"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="openids" + constraintName="openids_user_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-29"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="passwords" + constraintName="passwords_user_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-30"> + <createView fullDefinition="false" viewName="article_comment_counts">SELECT a.id AS article, + count(c.*) AS comment_count + FROM (articles a + LEFT JOIN comments c ON (((c.article = a.id) AND (EXISTS ( SELECT comment_revisions.id, + comment_revisions.comment, + comment_revisions.date, + comment_revisions.content, + comment_revisions.author, + comment_revisions.format, + comment_revisions.status, + comment_revisions.article_revision, + comment_revisions.submitter_ip, + comment_revisions.submitter_user_agent + FROM comment_revisions + WHERE ((comment_revisions.comment = c.id) AND ((comment_revisions.status)::text = ANY + (ARRAY[('approved'::character varying)::text, ('trusted'::character varying)::text])))))))) + GROUP BY a.id; + </createView> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-31"> + <addForeignKeyConstraint baseColumnNames="article" baseTableName="comments" + constraintName="comments_article_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="articles" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-32"> + <addForeignKeyConstraint baseColumnNames="article" baseTableName="journal_entries" + constraintName="journal_entries_article_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="articles" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-33"> + <createView fullDefinition="false" viewName="article_branch_tips">SELECT + article_revisions.article, + article_revisions.id AS revision + FROM (( SELECT article_revisions_1.id + FROM article_revisions article_revisions_1 + EXCEPT + SELECT article_revision_parenthood.parent + FROM article_revision_parenthood) branch_tips + JOIN article_revisions USING (id)); + </createView> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-34"> + <createView fullDefinition="false" viewName="article_publishing_dates">SELECT + article_revisions.article, + min(article_revisions.date) AS publishing_date + FROM article_revisions + WHERE ((article_revisions.status)::text = ANY (ARRAY[('published'::character varying)::text, + ('syndicated'::character varying)::text])) + GROUP BY article_revisions.article; + </createView> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-35"> + <addForeignKeyConstraint baseColumnNames="article" baseTableName="article_revisions" + constraintName="article_revisions_article_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="articles" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-36"> + <addForeignKeyConstraint baseColumnNames="author" baseTableName="article_revisions" + constraintName="article_revisions_author_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-37"> + <createIndex indexName="article_revisions_english_ts_idx" tableName="article_revisions"> + <column computed="true" + name="((setweight(to_tsvector('english'::regconfig, (title)::text), 'A'::char) || setweight(to_tsvector('english'::regconfig, (content)::text), 'D'::char)))"/> + </createIndex> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-38"> + <createIndex indexName="article_revisions_french_ts_idx" tableName="article_revisions"> + <column computed="true" + name="((setweight(to_tsvector('french'::regconfig, (title)::text), 'A'::char) || setweight(to_tsvector('french'::regconfig, (content)::text), 'D'::char)))"/> + </createIndex> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-39"> + <createIndex indexName="article_revisions_german_ts_idx" tableName="article_revisions"> + <column computed="true" + name="((setweight(to_tsvector('german'::regconfig, (title)::text), 'A'::char) || setweight(to_tsvector('german'::regconfig, (content)::text), 'D'::char)))"/> + </createIndex> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-40"> + <addUniqueConstraint columnNames="global_id" constraintName="article_revisions_global_id_key" + tableName="article_revisions"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-41"> + <addForeignKeyConstraint baseColumnNames="child" baseTableName="article_revision_parenthood" + constraintName="article_revision_parenthood_child_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="article_revisions" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-42"> + <addForeignKeyConstraint baseColumnNames="parent" baseTableName="article_revision_parenthood" + constraintName="article_revision_parenthood_parent_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="article_revisions" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-43"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="user_permissions" + constraintName="user_permissions_user_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-44"> + <addForeignKeyConstraint baseColumnNames="entry_id" baseTableName="journal_pingback" + constraintName="journal_pingback_journal_entryfk" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="journal_entry" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-45"> + <addForeignKeyConstraint baseColumnNames="entry_id" baseTableName="journal_trackback" + constraintName="journal_trackback_journal_entryfk" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="journal_entry" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-46"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="user_settings" + constraintName="user_settings_user_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-47"> + <addForeignKeyConstraint baseColumnNames="article" baseTableName="article_category_memberships" + constraintName="article_category_memberships_article_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="articles" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-48"> + <addForeignKeyConstraint baseColumnNames="category" baseTableName="category_inclusions" + constraintName="category_inclusions_category_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="categories" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-49"> + <addForeignKeyConstraint baseColumnNames="supercategory" baseTableName="category_inclusions" + constraintName="category_inclusions_supercategory_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="categories" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-50"> + <addForeignKeyConstraint baseColumnNames="journal" baseTableName="journal_entries" + constraintName="journal_entries_journal_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="journals" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-51"> + <addForeignKeyConstraint baseColumnNames="article" baseTableName="article_aliases" + constraintName="article_aliases_article_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="articles" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-52"> + <addForeignKeyConstraint baseColumnNames="author" baseTableName="comment_revisions" + constraintName="comment_revisions_author_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-53"> + <addForeignKeyConstraint baseColumnNames="revision" + baseTableName="article_revision_characteristics" + constraintName="article_revision_characteristics_revision_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="article_revisions" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-54"> + <addUniqueConstraint columnNames="revision, characteristic, value" + constraintName="article_revision_characteristics_revision_key" + tableName="article_revision_characteristics"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-55"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="login_certificates" + constraintName="login_certificates_user_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-56"> + <addForeignKeyConstraint baseColumnNames="entry_id" baseTableName="journal_comment" + constraintName="journal_comment_journal_entryfk" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="journal_entry" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-57"> + <addForeignKeyConstraint baseColumnNames="comment" baseTableName="comment_revisions" + constraintName="comment_revisions_comment_fkey" deferrable="false" initiallyDeferred="false" + onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="comments" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592058325319-58"> + <createSequence cacheSize="1" cycle="false" dataType="bigint" incrementBy="1" + maxValue="9223372036854775807" minValue="1" sequenceName="transaction_key_seq" + startValue="1"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-1"> + <createTable schemaName="benki" tableName="openids"> + <column name="user" type="INTEGER"> + <constraints nullable="false"/> + </column> + <column name="openid" type="VARCHAR"> + <constraints nullable="false" primaryKey="true" primaryKeyName="openids_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-2"> + <createTable schemaName="benki" tableName="lazychat_references"> + <column name="referrer" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="lazychat_references_pkey"/> + </column> + <column name="referee" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="lazychat_references_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-3"> + <createTable schemaName="benki" tableName="rsa_keys"> + <column name="modulus" type="numeric"> + <constraints nullable="false" primaryKey="true" primaryKeyName="rsa_keys_pkey"/> + </column> + <column name="exponent" type="numeric"> + <constraints nullable="false" primaryKey="true" primaryKeyName="rsa_keys_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-4"> + <createTable schemaName="benki" tableName="user_jids"> + <column name="user" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="user_jids_pkey"/> + </column> + <column name="jid" type="VARCHAR"> + <constraints nullable="false" primaryKey="true" primaryKeyName="user_jids_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-5"> + <createTable schemaName="benki" tableName="wiki_page_revisions"> + <column autoIncrement="true" name="id" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="wiki_page_revisions_pkey"/> + </column> + <column name="page" type="INTEGER"> + <constraints nullable="false"/> + </column> + <column defaultValueComputed="now()" name="date" type="TIMESTAMP WITH TIME ZONE"/> + <column name="title" type="VARCHAR"/> + <column name="content" type="VARCHAR"/> + <column name="author" type="INTEGER"/> + <column name="format" type="VARCHAR"/> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-6"> + <createTable schemaName="benki" tableName="user_roles"> + <column name="user" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="user_roles_pkey"/> + </column> + <column name="role" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="user_roles_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-7"> + <createTable schemaName="benki" tableName="post_targets"> + <column name="message" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="lazychat_targets_pkey"/> + </column> + <column name="target" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="lazychat_targets_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-8"> + <createTable schemaName="benki" tableName="user_nicknames"> + <column name="user" type="INTEGER"> + <constraints nullable="false"/> + </column> + <column name="nickname" type="VARCHAR"> + <constraints nullable="false" primaryKey="true" primaryKeyName="user_nicknames_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-9"> + <createTable schemaName="benki" tableName="posts"> + <column autoIncrement="true" name="id" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="posts_pkey"/> + </column> + <column name="owner" type="INTEGER"/> + <column defaultValueComputed="now()" name="date" type="TIMESTAMP WITH TIME ZONE"/> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-10"> + <createTable schemaName="benki" tableName="users"> + <column autoIncrement="true" name="id" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="users_pkey"/> + </column> + <column name="first_name" type="VARCHAR"/> + <column name="middle_names" type="VARCHAR"/> + <column name="last_name" type="VARCHAR"/> + <column name="email" type="VARCHAR"/> + <column name="website" type="VARCHAR"/> + <column name="status" type="VARCHAR"/> + <column name="role" type="INTEGER"> + <constraints nullable="false"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-11"> + <createTable schemaName="benki" tableName="webids"> + <column name="user" type="INTEGER"> + <constraints nullable="false"/> + </column> + <column name="webid" type="VARCHAR"> + <constraints nullable="false" primaryKey="true" primaryKeyName="webids_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-12"> + <createTable schemaName="benki" tableName="page_keys"> + <column name="user" type="INTEGER"> + <constraints nullable="false"/> + </column> + <column name="page" type="VARCHAR"> + <constraints nullable="false" primaryKey="true" primaryKeyName="page_keys_pkey"/> + </column> + <column name="key" type="numeric"> + <constraints nullable="false" primaryKey="true" primaryKeyName="page_keys_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-13"> + <createTable schemaName="benki" tableName="role_tags"> + <column name="role" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="role_tags_pkey"/> + </column> + <column name="tag" type="VARCHAR"> + <constraints nullable="false" primaryKey="true" primaryKeyName="role_tags_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-14"> + <createTable schemaName="benki" tableName="user_rsa_keys"> + <column name="user" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="user_rsa_keys_pkey"/> + </column> + <column name="modulus" type="numeric"> + <constraints nullable="false" primaryKey="true" primaryKeyName="user_rsa_keys_pkey"/> + </column> + <column name="exponent" type="numeric"> + <constraints nullable="false" primaryKey="true" primaryKeyName="user_rsa_keys_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-15"> + <createTable schemaName="benki" tableName="user_email_addresses"> + <column name="user" type="INTEGER"> + <constraints nullable="false"/> + </column> + <column name="email" type="VARCHAR"> + <constraints nullable="false" primaryKey="true" primaryKeyName="user_email_addresses_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-16"> + <createTable schemaName="benki" tableName="role_subroles"> + <column name="superrole" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="role_subroles_pkey"/> + </column> + <column name="subrole" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="role_subroles_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-17"> + <createTable schemaName="benki" tableName="roles"> + <column autoIncrement="true" name="id" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="roles_pkey"/> + </column> + <column name="name" type="VARCHAR"/> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-18"> + <createTable schemaName="benki" tableName="bookmark_tags"> + <column name="bookmark" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="bookmark_tags_pkey"/> + </column> + <column name="tag" type="VARCHAR"> + <constraints nullable="false" primaryKey="true" primaryKeyName="bookmark_tags_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-19"> + <createTable schemaName="benki" tableName="user_default_target"> + <column name="user" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="user_default_target_pkey"/> + </column> + <column name="target" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="user_default_target_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-20"> + <createTable schemaName="benki" tableName="wiki_pages"> + <column autoIncrement="true" name="id" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="wiki_pages_pkey"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-21"> + <addForeignKeyConstraint baseColumnNames="modulus,exponent" baseTableName="user_rsa_keys" + baseTableSchemaName="benki" constraintName="user_rsa_keys_modulus_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" + referencedColumnNames="modulus,exponent" referencedTableName="rsa_keys" + referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-22"> + <createIndex indexName="user_jids_user" schemaName="benki" tableName="user_jids"> + <column name="user"/> + </createIndex> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-23"> + <createIndex indexName="user_nicknames_user" schemaName="benki" tableName="user_nicknames"> + <column name="user"/> + </createIndex> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-24"> + <createTable schemaName="benki" tableName="bookmarks"> + <column autoIncrement="true" name="id" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="bookmarks_pkey"/> + </column> + <column name="owner" type="INTEGER"/> + <column defaultValueComputed="now()" name="date" type="TIMESTAMP WITH TIME ZONE"/> + <column name="uri" type="VARCHAR"> + <constraints nullable="false"/> + </column> + <column name="title" type="VARCHAR"/> + <column name="description" type="VARCHAR"/> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-25"> + <createTable schemaName="benki" tableName="lazychat_messages"> + <column autoIncrement="true" name="id" type="INTEGER"> + <constraints nullable="false" primaryKey="true" primaryKeyName="lazychat_messages_pkey"/> + </column> + <column name="owner" type="INTEGER"/> + <column defaultValueComputed="now()" name="date" type="TIMESTAMP WITH TIME ZONE"/> + <column name="content" type="VARCHAR"/> + <column name="format" type="VARCHAR"> + <constraints nullable="false"/> + </column> + </createTable> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-26"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="webids" + baseTableSchemaName="benki" constraintName="webids_user_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-27"> + <addForeignKeyConstraint baseColumnNames="author" baseTableName="wiki_page_revisions" + baseTableSchemaName="benki" constraintName="wiki_page_revisions_author_fkey" + deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" + referencedColumnNames="id" referencedTableName="users" referencedTableSchemaName="benki" + validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-28"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="page_keys" + baseTableSchemaName="benki" constraintName="page_keys_user_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-29"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="user_rsa_keys" + baseTableSchemaName="benki" constraintName="user_rsa_keys_user_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-30"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="user_email_addresses" + baseTableSchemaName="benki" constraintName="user_email_addresses_user_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-31"> + <createView fullDefinition="false" schemaName="benki" viewName="effective_role_subroles">WITH + RECURSIVE t(superrole, subrole) AS ( + SELECT roles.id, + roles.id + FROM roles + UNION + SELECT t_1.superrole, + rs.subrole + FROM (t t_1 + JOIN role_subroles rs ON ((rs.superrole = t_1.subrole))) + ) + SELECT t.superrole, + t.subrole + FROM t; + </createView> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-32"> + <addForeignKeyConstraint baseColumnNames="target" baseTableName="user_default_target" + baseTableSchemaName="benki" constraintName="user_default_target_target_fkey" + deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" + referencedColumnNames="id" referencedTableName="roles" referencedTableSchemaName="benki" + validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-33"> + <addForeignKeyConstraint baseColumnNames="role" baseTableName="user_roles" + baseTableSchemaName="benki" constraintName="user_roles_role_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="roles" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-34"> + <addForeignKeyConstraint baseColumnNames="role" baseTableName="users" + baseTableSchemaName="benki" constraintName="users_role_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="roles" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-35"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="user_default_target" + baseTableSchemaName="benki" constraintName="user_default_target_user_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-36"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="openids" + baseTableSchemaName="benki" constraintName="openids_user_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-37"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="user_jids" + baseTableSchemaName="benki" constraintName="user_jids_user_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-38"> + <addForeignKeyConstraint baseColumnNames="page" baseTableName="wiki_page_revisions" + baseTableSchemaName="benki" constraintName="wiki_page_revisions_page_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="wiki_pages" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-39"> + <createView fullDefinition="false" schemaName="benki" viewName="effective_user_roles">SELECT + ur."user", + er.subrole AS role + FROM (user_roles ur + JOIN effective_role_subroles er ON ((er.superrole = ur.role))) + UNION + SELECT u.id AS "user", + rt.role + FROM users u, + role_tags rt + WHERE ((rt.tag)::text = ANY (ARRAY[('everyone'::character varying)::text, ('world'::character + varying)::text])) + UNION + SELECT NULL::integer AS "user", + rt.role + FROM role_tags rt + WHERE ((rt.tag)::text = 'world'::text); + </createView> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-40"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="user_roles" + baseTableSchemaName="benki" constraintName="user_roles_user_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-41"> + <addForeignKeyConstraint baseColumnNames="target" baseTableName="post_targets" + baseTableSchemaName="benki" constraintName="lazychat_targets_target_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="roles" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-42"> + <createView fullDefinition="false" schemaName="benki" viewName="user_visible_posts">SELECT + eur."user", + t.message + FROM effective_user_roles eur, + post_targets t + WHERE (t.target = eur.role) + UNION + SELECT m.owner AS "user", + m.id AS message + FROM posts m; + </createView> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-43"> + <addForeignKeyConstraint baseColumnNames="user" baseTableName="user_nicknames" + baseTableSchemaName="benki" constraintName="user_nicknames_user_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-44"> + <addForeignKeyConstraint baseColumnNames="owner" baseTableName="bookmarks" + baseTableSchemaName="benki" constraintName="bookmarks_owner_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-45"> + <createView fullDefinition="false" schemaName="benki" viewName="user_visible_bookmarks">SELECT + uvp."user", + uvp.message + FROM (user_visible_posts uvp + JOIN bookmarks bm ON ((bm.id = uvp.message))); + </createView> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-46"> + <addForeignKeyConstraint baseColumnNames="owner" baseTableName="lazychat_messages" + baseTableSchemaName="benki" constraintName="lazychat_messages_author_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-47"> + <addForeignKeyConstraint baseColumnNames="referrer" baseTableName="lazychat_references" + baseTableSchemaName="benki" constraintName="lazychat_references_referrer_fkey" + deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" + referencedColumnNames="id" referencedTableName="lazychat_messages" + referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-48"> + <createView fullDefinition="false" schemaName="benki" viewName="user_visible_lazychat_messages"> + SELECT uvp."user", + uvp.message + FROM (user_visible_posts uvp + JOIN lazychat_messages lm ON ((lm.id = uvp.message))); + </createView> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-49"> + <addForeignKeyConstraint baseColumnNames="owner" baseTableName="posts" + baseTableSchemaName="benki" constraintName="posts_owner_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="users" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-50"> + <addForeignKeyConstraint baseColumnNames="subrole" baseTableName="role_subroles" + baseTableSchemaName="benki" constraintName="role_subroles_subrole_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="roles" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-51"> + <addForeignKeyConstraint baseColumnNames="superrole" baseTableName="role_subroles" + baseTableSchemaName="benki" constraintName="role_subroles_superrole_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" + referencedTableName="roles" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + + <changeSet author="mulk (generated)" id="1592059602097-52"> + <addForeignKeyConstraint baseColumnNames="bookmark" baseTableName="bookmark_tags" + baseTableSchemaName="benki" constraintName="bookmark_tags_bookmark_fkey" deferrable="false" + initiallyDeferred="false" onDelete="NO ACTION" onUpdate="CASCADE" referencedColumnNames="id" + referencedTableName="bookmarks" referencedTableSchemaName="benki" validate="true"/> + </changeSet> + +</databaseChangeLog> diff --git a/src/main/resources/db/changeLog.xml b/src/main/resources/db/changeLog.xml new file mode 100644 index 0000000..bae8dda --- /dev/null +++ b/src/main/resources/db/changeLog.xml @@ -0,0 +1,11 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog + xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=" + http://www.liquibase.org/xml/ns/dbchangelog + http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.9.xsd"> + + <include file="db/changeLog-1.0.xml"/> + +</databaseChangeLog> diff --git a/src/main/resources/db/liquibase.properties b/src/main/resources/db/liquibase.properties new file mode 100644 index 0000000..79aca15 --- /dev/null +++ b/src/main/resources/db/liquibase.properties @@ -0,0 +1,3 @@ +url = jdbc:postgresql:///mulkcms?currentSchemas=public,benki +changeLogFile = src/main/resources/db/changeLog.xml +schemas = public,benki |