Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
The primary key will not be set. We got this exception:
SEVERE 28.04.15 10:54: liquibase: src/main/resources/liquibase/changelog-master.xml: src/main/resources/liquibase/changelog-2.0_test_data_set1_DONT_CHANGE.xml::test_data-file::ftr8fe: Change Set src/main/resources/liquibase/changelog-2.0_test_data_set1_DONT_CHANGE.xml::test_data-file::ftr8fe failed. Error: org.postgresql.util.PSQLException: ERROR: null value in column "db_id" violates not-null constraint
Detail: Failing row contains (null, null, null, 1, \x89504e470d0a1a0a0000000d49484452000000b1000000b108060000008b29..., 5867, 8f13b0edb57b156bf807f0e329afc76c.png, 8f13b0edb57b156bf807f0e329afc76c, image/png).
liquibase.exception.DatabaseException: org.postgresql.util.PSQLException: ERROR: null value in column "db_id" violates not-null constraint
Detail: Failing row contains (null, null, null, 1, \x89504e470d0a1a0a0000000d49484452000000b1000000b108060000008b29..., 5867, 8f13b0edb57b156bf807f0e329afc76c.png, 8f13b0edb57b156bf807f0e329afc76c, image/png).
at liquibase.statement.ExecutablePreparedStatementBase.execute(ExecutablePreparedStatementBase.java:79)
at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:118)
at liquibase.database.AbstractJdbcDatabase.execute(AbstractJdbcDatabase.java:1206)
at liquibase.database.AbstractJdbcDatabase.executeStatements(AbstractJdbcDatabase.java:1189)
at liquibase.changelog.ChangeSet.execute(ChangeSet.java:534)
at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:43)
at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:70)
at liquibase.Liquibase.update(Liquibase.java:195)
at liquibase.Liquibase.update(Liquibase.java:174)
at org.liquibase.maven.plugins.LiquibaseUpdate.doUpdate(LiquibaseUpdate.java:31)
at org.liquibase.maven.plugins.AbstractLiquibaseUpdateMojo.performLiquibaseTask(AbstractLiquibaseUpdateMojo.java:24)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute(AbstractLiquibaseMojo.java:367)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.postgresql.util.PSQLException: ERROR: null value in column "db_id" violates not-null constraint
Detail: Failing row contains (null, null, null, 1, \x89504e470d0a1a0a0000000d49484452000000b1000000b108060000008b29..., 5867, 8f13b0edb57b156bf807f0e329afc76c.png, 8f13b0edb57b156bf807f0e329afc76c, image/png).
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1998)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:570)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:413)
at liquibase.statement.ExecutablePreparedStatementBase.execute(ExecutablePreparedStatementBase.java:77)
Using this statement to insert the binary data:
<insert tableName="webtools_file"> <column name="db_id" valueNumeric="271" /> <column name="db_created" valueDate="${now}" /> <column name="db_updated" valueDate="${now}" /> <column name="db_version" valueNumeric="1" /> <column name="content" valueBlobFile="icons/8f13b0edb57b156bf807f0e329afc76c.png" /> <column name="filesize" valueNumeric="5867" /> <column name="filename" value="8f13b0edb57b156bf807f0e329afc76c.png" /> <column name="hash" value="8f13b0edb57b156bf807f0e329afc76c" /> <column name="mimetype" value="image/png" /> </insert>
This works fine with Liquibase 3.2.3.
But if we would like to set the primary key by database sequence like:
<insert tableName="webtools_file"> <column name="db_id" valueSequenceNext="database_version_seq" /> <column name="db_created" valueDate="${now}" /> <column name="db_updated" valueDate="${now}" /> <column name="db_version" valueNumeric="1" /> <column name="content" valueBlobFile="icons/8f13b0edb57b156bf807f0e329afc76c.png" /> <column name="filesize" valueNumeric="5867" /> <column name="filename" value="8f13b0edb57b156bf807f0e329afc76c.png" /> <column name="hash" value="8f13b0edb57b156bf807f0e329afc76c" /> <column name="mimetype" value="image/png" /> </insert>
or:
<insert tableName="webtools_file"> <column name="db_id" valueComputed="NEXTVAL('database_version_seq')" /> <column name="db_created" valueDate="${now}" /> <column name="db_updated" valueDate="${now}" /> <column name="db_version" valueNumeric="1" /> <column name="content" valueBlobFile="icons/8f13b0edb57b156bf807f0e329afc76c.png" /> <column name="filesize" valueNumeric="5867" /> <column name="filename" value="8f13b0edb57b156bf807f0e329afc76c.png" /> <column name="hash" value="8f13b0edb57b156bf807f0e329afc76c" /> <column name="mimetype" value="image/png" /> </insert>
The primary key will not be set. We got this exception:
SEVERE 28.04.15 10:54: liquibase: src/main/resources/liquibase/changelog-master.xml: src/main/resources/liquibase/changelog-2.0_test_data_set1_DONT_CHANGE.xml::test_data-file::ftr8fe: Change Set src/main/resources/liquibase/changelog-2.0_test_data_set1_DONT_CHANGE.xml::test_data-file::ftr8fe failed. Error: org.postgresql.util.PSQLException: ERROR: null value in column "db_id" violates not-null constraint Detail: Failing row contains (null, null, null, 1, \x89504e470d0a1a0a0000000d49484452000000b1000000b108060000008b29..., 5867, 8f13b0edb57b156bf807f0e329afc76c.png, 8f13b0edb57b156bf807f0e329afc76c, image/png). liquibase.exception.DatabaseException: org.postgresql.util.PSQLException: ERROR: null value in column "db_id" violates not-null constraint Detail: Failing row contains (null, null, null, 1, \x89504e470d0a1a0a0000000d49484452000000b1000000b108060000008b29..., 5867, 8f13b0edb57b156bf807f0e329afc76c.png, 8f13b0edb57b156bf807f0e329afc76c, image/png). at liquibase.statement.ExecutablePreparedStatementBase.execute(ExecutablePreparedStatementBase.java:79) at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:118) at liquibase.database.AbstractJdbcDatabase.execute(AbstractJdbcDatabase.java:1206) at liquibase.database.AbstractJdbcDatabase.executeStatements(AbstractJdbcDatabase.java:1189) at liquibase.changelog.ChangeSet.execute(ChangeSet.java:534) at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:43) at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:70) at liquibase.Liquibase.update(Liquibase.java:195) at liquibase.Liquibase.update(Liquibase.java:174) at org.liquibase.maven.plugins.LiquibaseUpdate.doUpdate(LiquibaseUpdate.java:31) at org.liquibase.maven.plugins.AbstractLiquibaseUpdateMojo.performLiquibaseTask(AbstractLiquibaseUpdateMojo.java:24) at org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute(AbstractLiquibaseMojo.java:367) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213) at org.apache.maven.cli.MavenCli.main(MavenCli.java:157) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) Caused by: org.postgresql.util.PSQLException: ERROR: null value in column "db_id" violates not-null constraint Detail: Failing row contains (null, null, null, 1, \x89504e470d0a1a0a0000000d49484452000000b1000000b108060000008b29..., 5867, 8f13b0edb57b156bf807f0e329afc76c.png, 8f13b0edb57b156bf807f0e329afc76c, image/png). at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1998) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:570) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:413) at liquibase.statement.ExecutablePreparedStatementBase.execute(ExecutablePreparedStatementBase.java:77)