GMOD / Chado

the GMOD database schema
http://gmod.org/wiki/Chado
Artistic License 2.0
38 stars 25 forks source link

Version confusion #130

Open spficklin opened 2 years ago

spficklin commented 2 years ago

I'm finding the version numbers we attach to our Flyway migrations a bit confusing for these reasons:

Another now confusing issue is that previously, the third number in the Chado version was incremented if there were changes to the non-schema code. With PR #100, the non-schema code was moved out. So, now the reason for incrementing that last number is gone.

I think how we do versioning in Chado will need some discussion, but to help reduce confusion what if we stopped using the 1.4 branch and instead used a 1.3x or 1.3.x branch? Then when we make a 1.4 release we move to the 1.4.x branch. Alternatively, we could just simply and make all changes in a dev branch.

scottcain commented 2 years ago

Blame @bradfordcondon :-)

But yes, I agree that it's confusing and warrants discussion.

bradfordcondon commented 2 years ago

very funny @scottcain

The simple answer here is you're right: I should have started naming them as 1.3101, 1.3102 etc per your naming conventions. Up for debate if the script version should match the intended upcoming release or the latest release or what it looks like I did, which is the next sequential minor release. Buuuut.....

Looking at the schema history it honestly looks to me like that release 1.31 is an implied 1.3.1. I imagine this was my thought process:

current version is 1.31 which is equivalent to 1.3.1. Next minor release that we'll put the script in is 1.3.2, 1.3.3 etc. we'll also start working on the next major release which is 1.4.

Suggestion: why not use Semantic Versioning 2.0 for versioning guidelines, so its an adopted standard you dont hae to think about.

This means (from those docs):

I also think picking a single dev branch, and minting a release by merging to master and creating a git tag so your github's release page update, is the way to go. Since you dont want the flyway versions to change, makes sense to me that you would do "upcoming next release" IE 1.3.3__ (or 1.33___, if you dont like semver), and then, when you mint 1.4 and someone wants to upgrade to it, they can use flyway which will auto run all scripts up to 1.4 .