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/main | |
| parent | a0392374957b6ad8d49816916576558cce639c22 (diff) | |
Add Liquibase.
Change-Id: I95f2e630f03bcf08c5a8fb2dfba80021da350c75
Diffstat (limited to 'src/main')
| -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 | 
