Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DozerDB support #685

Closed
bompi88 opened this issue Jan 21, 2025 · 4 comments
Closed

DozerDB support #685

bompi88 opened this issue Jan 21, 2025 · 4 comments

Comments

@bompi88
Copy link

bompi88 commented Jan 21, 2025

Hi,

I've been trying to get this plugin to work with DozerDB without any luck. I get some kind of transaction error, compared to when running Neo4J enterprise edition which works well.

Unexpected error running Liquibase: Unable to complete transaction.

liquibase.exception.CommandExecutionException: org.neo4j.driver.exceptions.DatabaseException: Unable to complete transaction.
   at liquibase.command.CommandScope.lambda$execute$6(CommandScope.java:300)
   at liquibase.Scope.child(Scope.java:210)
   at liquibase.Scope.child(Scope.java:186)
   at liquibase.command.CommandScope.execute(CommandScope.java:241)
   at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:51)
   at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:21)
   at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
   at picocli.CommandLine.access$1500(CommandLine.java:148)
   at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
   at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
   at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
   at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
   at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
   at picocli.CommandLine.execute(CommandLine.java:2174)
   at liquibase.integration.commandline.LiquibaseCommandLine.lambda$execute$2(LiquibaseCommandLine.java:414)
   at liquibase.Scope.child(Scope.java:210)
   at liquibase.Scope.child(Scope.java:186)
   at liquibase.integration.commandline.LiquibaseCommandLine.lambda$execute$3(LiquibaseCommandLine.java:389)
   at liquibase.Scope.child(Scope.java:210)
   at liquibase.Scope.child(Scope.java:186)
   at liquibase.integration.commandline.LiquibaseCommandLine.execute(LiquibaseCommandLine.java:386)
   at liquibase.integration.commandline.LiquibaseCommandLine.main(LiquibaseCommandLine.java:103)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.base/java.lang.reflect.Method.invoke(Unknown Source)
   at liquibase.integration.commandline.LiquibaseLauncher.main(LiquibaseLauncher.java:121)

I've put together a proper reproducible example using Docker here: https://github.com/bompi88/liquibase-dozerdb. Instructions on how to run is in the README.md.

I'm not sure if I'm doing anything wrong here, or if DozerDB is handling transactions/connections differently. Of course DozerDB is still in alpha, but I would assume this to be working.

@fbiville
Copy link
Collaborator

Hello, thanks for raising the issue.
I won't add support for DozerDB specifically, but I ran the following experiment without encountering any issue.

I tried:

<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                   xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">

    <changeSet id="my-movie-init" author="fbiville">
        <sql>CREATE (:Movie {title: 'My Life', genre: 'Comedy'})</sql>
    </changeSet>

</databaseChangeLog>

and ran Liquibase against a container:

docker run --rm \
    --env NEO4J_AUTH='neo4j/letmein!' \
    --env NEO4J_ACCEPT_LICENSE_AGREEMENT=yes \
    --publish=7687:7687 --publish=7474:7474 \
    --health-cmd "cypher-shell -u neo4j -p 'letmein!' 'RETURN 1'" \
    --health-interval 5s \
    --health-timeout 5s \
    --health-retries 5 \
    graphstack/dozerdb:5.24.2.1-alpha.1

@bompi88
Copy link
Author

bompi88 commented Jan 24, 2025

@fbiville Thanks for looking into this. I'm still getting the same issue using the example values you posted in your comment. I've accumulated the steps that I've taken, in hope of that you are able to spot what I'm doing wrong.

platform: OSX 15.1.1 (24B91)
liquibase: 4.31.0
liquibase-neo4j: 4.31.0

Steps taken

$ brew install liquibase

$ curl -L -o /opt/homebrew/opt/liquibase/libexec/lib/liquibase-neo4j-4.31.0-full.jar https://github.com/liquibase/liquibase-neo4j/releases/download/v4.31.0/liquibase-neo4j-4.31.0-full.jar

$ liquibase --version
> ####################################################
> ##   _     _             _ _                      ##
> ##  | |   (_)           (_) |                     ##
> ##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
> ##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
> ##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
> ##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
> ##              | |                               ##
> ##              |_|                               ##
> ##                                                ## 
> ##  Get documentation at docs.liquibase.com       ##
> ##  Get certified courses at learn.liquibase.com  ## 
> ##                                                ##
> ####################################################
> Starting Liquibase at 12:31:28 using Java 23.0.2 (version 4.31.0 #6261 built at 2025-01-14 14:24+0000)
> Liquibase Home: /opt/homebrew/Cellar/liquibase/4.31.0/libexec
> Java Home /opt/homebrew/Cellar/openjdk/23.0.2/libexec/openjdk.jdk/Contents/Home (Version 23.0.2)
> Libraries:
> - internal/extensions/liquibase-checks.jar: Checks Extension 2.0.0 By Liquibase
> - internal/extensions/liquibase-commercial-bigquery.jar: Liquibase BigQuery Commercial Extension 4.31.0 By Liquibase
> - internal/lib/commons-collections4.jar: Apache Commons Collections 4.4.0 By The Apache Software Foundation
> - internal/lib/commons-io.jar: Apache Commons IO 2.18.0 By The Apache Software Foundation
> - internal/lib/commons-lang3.jar: Apache Commons Lang 3.17.0 By The Apache Software Foundation
> - internal/lib/commons-text.jar: Apache Commons Text 1.13.0 By The Apache Software Foundation
> - internal/lib/h2.jar: H2 Database Engine 2.2.224 By H2 Group
> - internal/lib/hsqldb.jar: HSQLDB 2.7.4 By The HSQL Development Group
> - internal/lib/jaxb-api.jar: jaxb-api 2.3.1 By Oracle Corporation
> - internal/lib/jaxb-core.jar: JAXB Core 4.0.5 By Eclipse Foundation
> - internal/lib/jaxb-runtime.jar: JAXB Runtime 4.0.5 By Eclipse Foundation
> - internal/lib/jaybird.jar: Jaybird 5.0.6.java8 (build: variant=jaybird tag=v5.0.6 date=202410161519) By Firebird project
> - internal/lib/jcc.jar: IBM JCC JDBC 4 Driver 1.4.0 By IBM
> - internal/lib/liquibase-commercial.jar: Commercial Liquibase Functionality 4.31.0 By Liquibase
> - internal/lib/mariadb-java-client.jar: mariadb-java-client 3.4.1 By mariadb.com
> - internal/lib/mssql-jdbc.jar: Microsoft JDBC Driver for SQL Server 12.8.1 By Microsoft Corporation
> - internal/lib/ojdbc8.jar: JDBC 19.24.0.0.0 By Oracle Corporation
> - internal/lib/opencsv.jar: opencsv 5.9.0
> - internal/lib/picocli.jar: picocli 4.7.6 By Remko Popma
> - internal/lib/postgresql.jar: PostgreSQL JDBC Driver 42.7.4 By PostgreSQL Global Development Group
> - internal/lib/slf4j-api.jar: SLF4J API Module 2.0.16 By SLF4J.ORG
> - internal/lib/slf4j-nop.jar: SLF4J NOP Provider 2.0.16 By SLF4J.ORG
> - internal/lib/snakeyaml.jar: SnakeYAML 2.3.0
> - internal/lib/snowflake-jdbc.jar: snowflake-jdbc 3.20.0
> - internal/lib/sqlite-jdbc.jar: SQLite JDBC 3.47.2.0
> - lib/liquibase-neo4j-4.31.0-full.jar: liquibase-neo4j-4.31.0-full UNKNOWN
> 
> 
> Liquibase Version: 4.31.0
> Liquibase Open Source 4.31.0 by Liquibase

$ docker run --rm \
  --env NEO4J_AUTH='neo4j/letmein!' \
  --env NEO4J_ACCEPT_LICENSE_AGREEMENT=yes \
  --publish=7687:7687 --publish=7474:7474 \
  --health-cmd "cypher-shell -u neo4j -p 'letmein!' 'RETURN 1'" \
  --health-interval 5s \
  --health-timeout 5s \
  --health-retries 5 \
  graphstack/dozerdb:5.24.2.1-alpha.1

#echo multiline using EOF
$ cat <<EOF > changeset.xml
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
  xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">

  <changeSet id="my-movie-init" author="fbiville">
    <sql>CREATE (:Movie {title: 'My Life', genre: 'Comedy'})</sql>
  </changeSet>
</databaseChangeLog>
EOF

$ cypher-shell -u neo4j -p 'letmein!' 'CREATE DATABASE persons'
> 0 rows
> ready to start consuming query after 190 ms, results consumed after another 0 ms

$ liquibase --changeLogFile=changeset.xml --url='jdbc:neo4j:neo4j://localhost:7687?database=persons' --username='neo4j' --password='letmein!' update 
> ####################################################
> ##   _     _             _ _                      ##
> ##  | |   (_)           (_) |                     ##
> ##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
> ##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
> ##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
> ##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
> ##              | |                               ##
> ##              |_|                               ##
> ##                                                ## 
> ##  Get documentation at docs.liquibase.com       ##
> ##  Get certified courses at learn.liquibase.com  ## 
> ##                                                ##
> ####################################################
> Starting Liquibase at 12:39:27 using Java 23.0.2 (version 4.31.0 #6261 built at 2025-01-14 14:24+0000)
> Liquibase Version: 4.31.0
> Liquibase Open Source 4.31.0 by Liquibase
> ERROR: Exception Details
> ERROR: Exception Primary Class:  DatabaseException
> ERROR: Exception Primary Reason:  Unable to complete transaction.
> ERROR: Exception Primary Source:  Neo4j null
> 
> Unexpected error running Liquibase: Unable to complete transaction.
> 
> For more information, please use the --log-level flag

@fbiville
Copy link
Collaborator

fbiville commented Jan 24, 2025

Thanks for the reproducer, I can indeed reproduce the problem now.
Here is what I got:

liquibase.exception.CommandExecutionException: org.neo4j.driver.exceptions.DatabaseException: Unable to complete transaction.
	at liquibase.command.CommandScope.lambda$execute$6(CommandScope.java:300)
	at liquibase.Scope.child(Scope.java:210)
	at liquibase.Scope.child(Scope.java:186)
	at liquibase.command.CommandScope.execute(CommandScope.java:241)
	at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:51)
	at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:21)
	at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
	at picocli.CommandLine.access$1500(CommandLine.java:148)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
	at picocli.CommandLine.execute(CommandLine.java:2174)
	at liquibase.integration.commandline.LiquibaseCommandLine.lambda$execute$2(LiquibaseCommandLine.java:414)
	at liquibase.Scope.child(Scope.java:210)
	at liquibase.Scope.child(Scope.java:186)
	at liquibase.integration.commandline.LiquibaseCommandLine.lambda$execute$3(LiquibaseCommandLine.java:389)
	at liquibase.Scope.child(Scope.java:210)
	at liquibase.Scope.child(Scope.java:186)
	at liquibase.integration.commandline.LiquibaseCommandLine.execute(LiquibaseCommandLine.java:386)
	at liquibase.integration.commandline.LiquibaseCommandLine.main(LiquibaseCommandLine.java:103)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at liquibase.integration.commandline.LiquibaseLauncher.main(LiquibaseLauncher.java:121)
Caused by: org.neo4j.driver.exceptions.DatabaseException: Unable to complete transaction.
	at org.neo4j.driver.internal.util.Futures.blockingGet(Futures.java:111)
	at org.neo4j.driver.internal.InternalTransaction.commit(InternalTransaction.java:37)
	at liquibase.ext.neo4j.database.jdbc.Neo4jConnection.commit(Neo4jConnection.java:1206)
	at liquibase.database.jvm.JdbcConnection.commit(JdbcConnection.java:247)
	at liquibase.database.AbstractJdbcDatabase.commit(AbstractJdbcDatabase.java:1098)
	at liquibase.ext.neo4j.changelog.Neo4jChangelogHistoryService.initializeHistory(Neo4jChangelogHistoryService.java:490)
	at liquibase.ext.neo4j.changelog.Neo4jChangelogHistoryService.init(Neo4jChangelogHistoryService.java:79)
	at liquibase.command.core.helpers.DatabaseChangelogCommandStep.checkLiquibaseTables(DatabaseChangelogCommandStep.java:137)
	at liquibase.command.core.helpers.DatabaseChangelogCommandStep.run(DatabaseChangelogCommandStep.java:87)
	at liquibase.command.CommandScope.lambda$execute$6(CommandScope.java:253)
	... 26 more
	Suppressed: org.neo4j.driver.internal.util.ErrorUtil$InternalExceptionCause
		at org.neo4j.driver.internal.util.ErrorUtil.newNeo4jError(ErrorUtil.java:82)
		at org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher.handleFailureMessage(InboundMessageDispatcher.java:107)
		at org.neo4j.driver.internal.messaging.common.CommonMessageReader.unpackFailureMessage(CommonMessageReader.java:75)
		at org.neo4j.driver.internal.messaging.common.CommonMessageReader.read(CommonMessageReader.java:53)
		at org.neo4j.driver.internal.async.inbound.InboundMessageHandler.channelRead0(InboundMessageHandler.java:81)
		at org.neo4j.driver.internal.async.inbound.InboundMessageHandler.channelRead0(InboundMessageHandler.java:37)
		at org.neo4j.driver.internal.shaded.io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
		at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
		at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
		at org.neo4j.driver.internal.async.inbound.MessageDecoder.channelRead(MessageDecoder.java:42)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
		at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
		at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
		at org.neo4j.driver.internal.shaded.io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
		at org.neo4j.driver.internal.shaded.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1407)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
		at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
		at org.neo4j.driver.internal.shaded.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918)
		at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
		at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
		at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
		at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
		at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
		at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994)
		at org.neo4j.driver.internal.shaded.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
		at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
		at java.base/java.lang.Thread.run(Thread.java:840)

Here is the full Bolt sequence:

C: [Bolt Handshake] [0x6060b017, 132100, 260, 4, 3]
S: [Bolt Handshake] 4.4
C: HELLO {principal="neo4j", routing={address: "localhost:7687"}, scheme="basic", credentials="******", patch_bolt=["utc"], user_agent="liquibase-neo4j/4.31.0.2"}
S: SUCCESS {server="Neo4j/5.24.2", connection_id="bolt-284", patch_bolt=["utc"], hints={connection.recv_timeout_seconds: 120}}
C: ROUTE {address="localhost:7687"} Bookmark{values=[]} persons null
S: SUCCESS {rt={servers: [{addresses: ["localhost:7687"], role: "WRITE"}, {addresses: ["localhost:7687"], role: "READ"}, {addresses: ["localhost:7687"], role: "ROUTE"}], ttl: 300, db: "persons"}}
C: RESET
S: SUCCESS {}
C: [Bolt Handshake] [0x6060b017, 132100, 260, 4, 3]
S: [Bolt Handshake] 4.4
C: HELLO {principal="neo4j", routing={address: "localhost:7687"}, scheme="basic", credentials="******", patch_bolt=["utc"], user_agent="liquibase-neo4j/4.31.0.2"}
S: SUCCESS {server="Neo4j/5.24.2", connection_id="bolt-285", patch_bolt=["utc"], hints={connection.recv_timeout_seconds: 120}}
C: BEGIN {db="persons"}
S: SUCCESS {}
C: PULL {n=1000}
S: SUCCESS {t_first=11, fields=["edition", "version"], qid=0}
S: RECORD ["enterprise", "5.24.2"]
S: SUCCESS {type="s", t_last=1, db="persons"}
C: ROLLBACK
S: SUCCESS {}
C: RESET
S: SUCCESS {}
C: BEGIN {db="persons"}
S: SUCCESS {}
C: RUN "MATCH (label:__LiquibaseLabel) WHERE NOT (label)--() DELETE label" {} {}
C: PULL {n=1000}
S: SUCCESS {t_first=10, fields=[], qid=0}
S: SUCCESS {type="w", t_last=0, db="persons"}
C: COMMIT
S: SUCCESS {bookmark="FB:kcwQCUs8CIL3TwC4ZyX8hJa4CwOQ"}
C: RESET
S: SUCCESS {}
C: BEGIN {bookmarks=["FB:kcwQCUs8CIL3TwC4ZyX8hJa4CwOQ"], db="persons"}
S: SUCCESS {}
C: RUN "MATCH (context:__LiquibaseContext) WHERE NOT (context)--() DELETE context" {} {}
C: PULL {n=1000}
S: SUCCESS {t_first=11, fields=[], qid=0}
S: SUCCESS {type="w", t_last=0, db="persons"}
C: COMMIT
S: SUCCESS {bookmark="FB:kcwQCUs8CIL3TwC4ZyX8hJa4CwOQ"}
C: RESET
S: SUCCESS {}
C: BEGIN {bookmarks=["FB:kcwQCUs8CIL3TwC4ZyX8hJa4CwOQ"], db="persons"}
S: SUCCESS {}
C: RUN "CREATE CONSTRAINT `unique_liquibase_tag` IF NOT EXISTS FOR (n:`__LiquibaseTag`) REQUIRE n.`tag` IS UNIQUE" {} {}
C: PULL {n=1000}
S: SUCCESS {t_first=12, fields=[], qid=0}
S: SUCCESS {type="s", stats={contains-updates: TRUE, constraints-added: 1}, t_last=0, db="persons"}
C: COMMIT
S: SUCCESS {bookmark="FB:kcwQCUs8CIL3TwC4ZyX8hJa4CwmQ"}
C: RESET
S: SUCCESS {}
C: BEGIN {bookmarks=["FB:kcwQCUs8CIL3TwC4ZyX8hJa4CwmQ"], db="persons"}
S: SUCCESS {}
C: RUN "CREATE CONSTRAINT `unique_liquibase_context` IF NOT EXISTS FOR (n:`__LiquibaseContext`) REQUIRE n.`context` IS UNIQUE" {} {}
C: PULL {n=1000}
S: SUCCESS {t_first=10, fields=[], qid=0}
S: SUCCESS {type="s", stats={contains-updates: TRUE, constraints-added: 1}, t_last=1, db="persons"}
C: COMMIT
S: SUCCESS {bookmark="FB:kcwQCUs8CIL3TwC4ZyX8hJa4Cw2Q"}
C: RESET
S: SUCCESS {}
C: BEGIN {bookmarks=["FB:kcwQCUs8CIL3TwC4ZyX8hJa4Cw2Q"], db="persons"}
S: SUCCESS {}
C: RUN "CREATE CONSTRAINT `unique_liquibase_label` IF NOT EXISTS FOR (n:`__LiquibaseLabel`) REQUIRE n.`label` IS UNIQUE" {} {}
C: PULL {n=1000}
S: SUCCESS {t_first=9, fields=[], qid=0}
S: SUCCESS {type="s", stats={contains-updates: TRUE, constraints-added: 1}, t_last=0, db="persons"}
C: COMMIT
S: SUCCESS {bookmark="FB:kcwQCUs8CIL3TwC4ZyX8hJa4CxGQ"}
C: RESET
S: SUCCESS {}
C: BEGIN {bookmarks=["FB:kcwQCUs8CIL3TwC4ZyX8hJa4CxGQ"], db="persons"}
S: SUCCESS {}
C: RUN "CREATE CONSTRAINT `node_key_liquibase_change_set` IF NOT EXISTS FOR (n:`__LiquibaseChangeSet`) REQUIRE (n.`id`, n.`author`, n.`changeLog`) IS NODE KEY" {} {}
C: PULL {n=1000}
S: SUCCESS {t_first=10, fields=[], qid=0}
S: SUCCESS {type="s", stats={contains-updates: TRUE, constraints-added: 1}, t_last=0, db="persons"}
C: COMMIT
S: SUCCESS {bookmark="FB:kcwQCUs8CIL3TwC4ZyX8hJa4CxeQ"}
C: RESET
S: SUCCESS {}
C: BEGIN {bookmarks=["FB:kcwQCUs8CIL3TwC4ZyX8hJa4CxeQ"], db="persons"}
S: SUCCESS {}
C: RUN "CREATE INDEX `index_liquibase_change_set_check_sum` IF NOT EXISTS FOR (n:`__LiquibaseChangeSet`) ON (n.`checkSum`)" {} {}
C: PULL {n=1000}
S: SUCCESS {t_first=2, fields=[], qid=0}
S: SUCCESS {type="s", stats={contains-updates: TRUE, indexes-added: 1}, t_last=1, db="persons"}
C: COMMIT
S: SUCCESS {bookmark="FB:kcwQCUs8CIL3TwC4ZyX8hJa4CxmQ"}
C: RESET
S: SUCCESS {}
C: BEGIN {bookmarks=["FB:kcwQCUs8CIL3TwC4ZyX8hJa4CxmQ"], db="persons"}
S: SUCCESS {}
C: RUN "MERGE (changeLog:__LiquibaseChangeLog)    ON CREATE SET changeLog.dateCreated = datetime()    ON MATCH SET changeLog.dateUpdated = datetime()" {} {}
C: PULL {n=1000}
S: SUCCESS {t_first=11, fields=[], qid=0}
S: SUCCESS {type="w", stats={contains-updates: TRUE, labels-added: 1, nodes-created: 1, properties-set: 1}, t_last=0, db="persons"}
C: COMMIT
S: FAILURE Neo.DatabaseError.Database.Unknown "Unable to complete transaction."

You will need to reach out to DozerDB.

@bompi88
Copy link
Author

bompi88 commented Jan 25, 2025

@fbiville Ok, I'll try reaching out to Dozer DB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants