Skip to content

Instantly share code, notes, and snippets.

@cirovladimir
Created August 20, 2015 19:41
Show Gist options
  • Save cirovladimir/c5b8aa907be711312bee to your computer and use it in GitHub Desktop.
Save cirovladimir/c5b8aa907be711312bee to your computer and use it in GitHub Desktop.
diff --git a/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml b/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml
index dbdae03..702d0ba 100644
--- a/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml
+++ b/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml
@@ -22,7 +22,7 @@
<changeSet id="00000000000001" author="jhipster">
<createSequence sequenceName="SEQ_USER" startValue="1000" incrementBy="1"/>
<createTable tableName="JHI_USER">
- <column name="id" type="bigint" autoIncrement="${autoIncrement}" defaultValueComputed="SEQ_USER.NEXTVAL">
+ <column name="id" type="bigint" autoIncrement="${autoIncrement}">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="login" type="varchar(50)">
@@ -52,7 +52,7 @@
<column name="last_modified_by" type="varchar(50)"/>
<column name="last_modified_date" type="timestamp"/>
</createTable>
-
+
<createTable tableName="JHI_AUTHORITY">
<column name="name" type="varchar(50)">
<constraints primaryKey="true" nullable="false"/>
@@ -119,10 +119,10 @@
file="config/liquibase/users_authorities.csv"
separator=";"
tableName="JHI_USER_AUTHORITY"/>
-
+
<createSequence sequenceName="SEQ_PERSISTENT_AUDIT_EVENT" startValue="1000" incrementBy="1"/>
<createTable tableName="JHI_PERSISTENT_AUDIT_EVENT">
- <column name="event_id" type="bigint" autoIncrement="${autoIncrement}" defaultValueComputed="SEQ_PERSISTENT_AUDIT_EVENT.NEXTVAL">
+ <column name="event_id" type="bigint" autoIncrement="${autoIncrement}" >
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="principal" type="varchar(255)">
@@ -162,5 +162,37 @@
referencedColumnNames="event_id"
referencedTableName="JHI_PERSISTENT_AUDIT_EVENT"/>
</changeSet>
-
+
+ <changeSet id="defaultValueComputedOnAutoIncrementFields" author="cirovladimir" dbms="mysql,h2,postgresql">
+ <addDefaultValue tableName="JHI_USER"
+ columnName="id" columnDataType="bigint" defaultValueComputed="SEQ_USER.NEXTVAL"/>
+ <addDefaultValue tableName="JHI_PERSISTENT_AUDIT_EVENT"
+ columnName="event_id" columnDataType="bigint" defaultValueComputed="SEQ_PERSISTENT_AUDIT_EVENT.NEXTVAL"/>
+ </changeSet>
+
+ <changeSet id="triggerOnAutoIncrementFields" author="cirovladimir" dbms="oracle">
+ <createProcedure>
+ CREATE OR REPLACE TRIGGER TRG_JHI_USER_ID
+ BEFORE INSERT
+ ON JHI_USER
+ FOR EACH ROW
+ DECLARE
+ BEGIN
+ SELECT SEQ_USER.NEXTVAL INTO :NEW.ID FROM DUAL;
+ END TRG_JHI_USER_ID;
+ </createProcedure>
+ <createProcedure>
+ CREATE OR REPLACE TRIGGER TRG_PERSISTENT_AUDIT_EVENT_ID
+ BEFORE INSERT
+ ON JHI_PERSISTENT_AUDIT_EVENT
+ FOR EACH ROW
+ DECLARE
+ BEGIN
+ SELECT SEQ_PERSISTENT_AUDIT_EVENT.NEXTVAL INTO :NEW.EVENT_ID FROM DUAL;
+ END TRG_PERSISTENT_AUDIT_EVENT_ID;
+ </createProcedure>
+ </changeSet>
+
+
+
</databaseChangeLog>
@tuncayxx
Copy link

tuncayxx commented Jun 9, 2016

Hi

I tried with your solution. But I get this exception?

Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (PORTALUSER.FK_USER_ID) violated - parent key not found

What could be wrong ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment