Thought this may be useful to others, since it was a problem that was necessary to conquer.
We had a need to compare database schema’s between two applications. Originally we thought just exporting the schema and performing a difference against the two files would get our answers, but because of table names being stored as hash maps the details always came in varying order.
It only took me once of having to go through all Table Names, Look for missing tables, verify field types and relations,etc to realize that I never wanted to deal with that mess again.
So, i wrote this little utility to do the dirty work for me:
How to use it: (Note, my instructions below only cover Linux and Mac. However it should work np on windows)
Requirements, NODEJS 7.x
Quickest installation for those without nodejs 7:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
Once installed, close terminal, reopen, and verify nvm command is available
Next:
nvm install 7.9.0
nvm use 7.9.0
Verify node version with node --version
Next:
git clone https://github.com/loudbinary/backendless_schema_diff
cd backendless_schema_diff
npm install
Everything should be setup now, if you type node index.js you should see the instructions to continue.
Here is an example:
node index.js --username (developer username) --password (developer password) --application-name1 (source application) --application-name2 (compared too application)
Once the processing is completed, you will have 3 files kicked out.
application1_tables.csv (down and dirty csv export, could be more readable of application1)
application2_tables.csv (down and dirty csv export, could be more readable of application1)
issues_report.log (compiled list of all found problems)
Hope it helps someone else, will surely save me a bunch of time. If you see or notice any problms, or i missed something then please raise an issue.
Thanks,