neo4j-etl
neo4j-etl copied to clipboard
Azure MSSQL does not migrate relationships
It was a beautiful day in Azure
when suddenly...
> 'You need to have foreign-key constraints set up in your relational database, otherwise the database-metadata doesn't identify which tables are connected with each other.'
Proof of
foreign keys constraints
being correctly setup
SO posts were done, to no avail!
So here we are, making a last stand against this bug!
We know that AWS works:
we just happen to be working with Azure at the moment and MSSQL specifically, which is already causing a much more reasonable bug, currently. #33
Bugs like #33 are much easier to reason about; the exception is right there ready to be read. Bugs like this one, however, are much more difficult to catch, and much more easier to dismiss.
For this reason we want to help providing with as much documentation as needed.
Steps to replicate:
- Create an Azure account
- Create an empty SQL database
- Create a basic relationship between two tables
- Maybe even prove that the step below had been made correctly by trying to add invalid entry into the table that references the other table. So that it references a non-existant id. This we did in the picture below.
- Now go migrate the tables to Neo4j ETL! 💃
- Sadly 10 out of 10 times you will find that no relationships between the tables have been migrated.
- And if you have bad luck, after some time, 10 out of 10 times it will fail because of #33
Feel free to ask for more screenshoots! We like to take screenshoots of our screens and tropical paradise wallpapers! (its Thailand btw)
Hey! Did not see you there, @jexp !
Feel free to ask for help, we value a lot someone with, let's see, 158 stars( and counting!) had been assigned to this bug hunt!
Anything we can do for you, we will, you can count on us.
Hi @miguelemosreverte and thanks for reaching us! We are on this and we'll give you feedback asap.
Thanks you so much, @conker84 !
Bug #33 has been solved by you successfully, we fully trust we can overcome this one too. Cheers from Argentina!
Hi @miguelemosreverte I'm happy that the #33 has been solved!
For this issue I hope this jar would solve your problem:
neo4j-etl.jar.zip
Can you unpack it inside the neo4j-etl-ui
directory? Following a list of possible locations:
OS | Location |
---|---|
macOS | ~/Library/Application Support/Neo4j Desktop/Application/graphApps/neo4j-etl-ui |
Windows pre 1.0.19 | %APPDATA%/Neo4j Desktop/Application/graphApps/neo4j-etl-ui |
Windows post 1.0.19 | %USERPROFILE%/.Neo4jDesktop/Application/graphApps/neo4j-etl-ui |
Linux | ~/.config/Neo4j Desktop/Application/graphApps/neo4j-etl-ui |
We managed to place it correctly, like this:
After that we received a new error instead of the usual "successfull" mapping that mapped no relationships. So, good news! 👍
Command failed due to error (IllegalStateException: Config is missing table definition 'lh-dev.cor.SmartTaggingEntity' for join ["lh-dev".cor.SmartTaggingData -> lh-dev.cor.SmartTaggingEntity]). Rerun with --debug flag for detailed diagnostic information.
Mmm that's quite strange, can you please remove (or move out) the _old.jar
and try again?
And If it's possible can you share the schema of the db?
(this message will be replaced with the full requested response on Saturday)
We will perform both this requests in the following days, sorry for the backpressure but Friday is demo day of the sprint, so no time for caution! (semirelated :P)