Version control of database schema (SQL DDLs in plain text file)

1.  Exported a database schema (only DDL) into to text file (.SQL)

2. initial Source tree commit. 

3. some minor schema changes 

4. exported database schema again

5. *** SourceTree complains "No changes in this file have been detected, or it is a binary file" 

I checked the gitignore_global.txt, it doesn't mention *.sql

Any suggestions what I an doing wrong ?

 

TIA

Pavel

2 answers

0 vote

Hi Pavel! The extension alone isn't enough for Git to see if it's a text file, and the content might not include enough ascii character to guess it is text file either.

Typically, that happens because the file is being saved as something other than UTF-8. If it's been encoded in UCS-4, UTF-16, or UTF-32 it contains embedded NUL characters when using ASCII characters (and this is not text in the eyes of Git).

With the .gitattributes file you can explicitly specify that a .sql should be a text, not a binary. Just add a .gitattributes to your repository root folder and set the diff attribute to the paths or files. 

For more information you can read Git attributes and Customizing Git-Attributes.

Lastly, there's also a bug in our tracking system, you can follow it at SRCTREEWIN-5485.

Hope that helps!

Ana

Ana, thanks

I checked and the file is UTF-8 encoded. Will give .gitattributes a shot and revert shortly.

Regards

PM

Still no luck. 

I placed on my Windows box in .git folder of my local repo

a file named "gitattributes" (L:\SourceTree\overload_database_structure\.git\gitattributes)

which contains

*.sql diff

Checking in pg_dump output with

--format=plain --encoding=utf8 --schema-only --compress=0 --dbname=overload  --host=XXXX --port=5432 --username=XXXX

does not produce desired result ( "No changes in this file have been detected, or it is a binary file" )

On the other hand created a .SQL with Notepad++ and it worked

Increasing Diff Size Limit (Text) in settings alleviated the problem. The dumps were 1Mb+ in size

Suggest an answer

Log in or Sign up to answer
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Brian Ganninger
Published Jan 23, 2018 in Sourcetree

Tip from the team: workflow and keyboard shortcuts

Supported Platforms macOS Sourcetree has a lot to offer and, like many developer tools, finding and using it all can be a challenge, especially for a new user. Everyone might not love ...

649 views 0 4
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you