The normal way I've seen database schema versioning is to create a
database version table and use an integer as the schema version.
I've found a few instances where applications use the product version
also as the schema version.
I like the latter because different versions of my application must
only be used with a specific version of our schema, and so it keeps
things simple: I just have to change one version in my application,
and then write my upgrade logic based on that for both the software
and the database schema. Each build changes the product version
(build number is part of the product version), and so for any software
change there is always a different product version, and so maintaining
two separate versions seems like unnecessary work.
Are there any documents, web sites, or strong opinions

, that
explain the pros and cons for the different ways of doing schema
versioning?
Even when I use the product version, that can be translated into an
integer, and so it is still a single number, but just formatted in
n.n.n.n format.