- <?xml version="1.0" encoding="UTF-8"?>
- <changeSet>
- <createTable tableName="PRIORITY">
- <column name="USER_NAME" type="varchar(100)" nullable="false"/>
- <column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
- <column name="PRIORITY_ID" type="int" nullable="false" autoIncrement="true" unique="true"/>
- <column name="PRIORITY_NAME" type="varchar(100)" nullable="false"/>
- <column name="DESCRIPTION" type="varchar(255)" nullable="true"/>
- <column name="ORDERING" type="int" nullable="false"/>
- <column name="IS_DEFAULT" type="boolean" nullable="false"/>
- <column name="COLOR" type="char(6)" nullable="false"/>
- </createTable>
-
- <addPrimaryKey constraintName="IDX_PRIORITY_PK" tableName="PRIORITY" columnNames="USER_NAME, REPOSITORY_NAME, PRIORITY_ID"/>
- <addForeignKeyConstraint constraintName="IDX_PRIORITY_FK0" baseTableName="PRIORITY" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
-
- <addColumn tableName="ISSUE">
- <column name="PRIORITY_ID" type="int" nullable="true" />
- </addColumn>
-
- <addForeignKeyConstraint constraintName="IDX_ISSUE_FK3" baseTableName="ISSUE" baseColumnNames="PRIORITY_ID" referencedTableName="PRIORITY" referencedColumnNames="PRIORITY_ID"/>
-
- <createTable tableName="ACCOUNT_WEB_HOOK">
- <column name="USER_NAME" type="varchar(100)" nullable="false"/>
- <column name="URL" type="varchar(200)" nullable="false"/>
- <column name="TOKEN" type="varchar(100)" nullable="true"/>
- <column name="CTYPE" type="varchar(10)" nullable="true"/>
- </createTable>
-
- <addPrimaryKey constraintName="IDX_ACCOUNT_WEB_HOOK_PK" tableName="ACCOUNT_WEB_HOOK" columnNames="USER_NAME, URL"/>
- <addForeignKeyConstraint constraintName="IDX_ACCOUNT_WEB_HOOK_FK0" baseTableName="ACCOUNT_WEB_HOOK" baseColumnNames="USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
-
- <createTable tableName="ACCOUNT_WEB_HOOK_EVENT">
- <column name="USER_NAME" type="varchar(100)" nullable="false"/>
- <column name="URL" type="varchar(200)" nullable="false"/>
- <column name="EVENT" type="varchar(30)" nullable="false"/>
- </createTable>
-
- <sql>
- CREATE OR REPLACE VIEW ISSUE_OUTLINE_VIEW AS
- SELECT
- A.USER_NAME,
- A.REPOSITORY_NAME,
- A.ISSUE_ID,
- COALESCE(B.COMMENT_COUNT, 0) + COALESCE(C.COMMENT_COUNT, 0) AS COMMENT_COUNT,
- COALESCE(D.ORDERING, 9999) AS PRIORITY
- FROM ISSUE A
- LEFT OUTER JOIN (
- SELECT USER_NAME, REPOSITORY_NAME, ISSUE_ID, COUNT(COMMENT_ID) AS COMMENT_COUNT FROM ISSUE_COMMENT
- WHERE ACTION IN ('comment', 'close_comment', 'reopen_comment')
- GROUP BY USER_NAME, REPOSITORY_NAME, ISSUE_ID
- ) B
- ON (A.USER_NAME = B.USER_NAME AND A.REPOSITORY_NAME = B.REPOSITORY_NAME AND A.ISSUE_ID = B.ISSUE_ID)
- LEFT OUTER JOIN (
- SELECT USER_NAME, REPOSITORY_NAME, ISSUE_ID, COUNT(COMMENT_ID) AS COMMENT_COUNT FROM COMMIT_COMMENT
- GROUP BY USER_NAME, REPOSITORY_NAME, ISSUE_ID
- ) C
- ON (A.USER_NAME = C.USER_NAME AND A.REPOSITORY_NAME = C.REPOSITORY_NAME AND A.ISSUE_ID = C.ISSUE_ID)
- LEFT OUTER JOIN PRIORITY D
- ON (A.PRIORITY_ID = D.PRIORITY_ID);
- </sql>
- </changeSet>