"David E. Wheeler" <david@kineticode.com> writes:
> On Dec 10, 2010, at 1:50 PM, Dimitri Fontaine wrote:
> (Actually, we could probably assume that the target version is
> implicitly "the current version", as identified from the control file,
> and omit that from the script file names. That would avoid ambiguity
> if version numbers can have more than one part.)
>>
>> I don't think we can safely design around one part version numbers here,
>> because I'm yet to see that happening in any extension I've had my hands
>> on, which means a few already, as you can imagine.
> Why not? Simplest thing, to my mind, is to have
> upgrade/foo-1.12.sql
> upgrade/foo-1.13.sql
> upgrade/foo-1.15.sql
> Since you know the existing version number, you just run all that come after. For example, if the current version is
1.12,then you know to run foo-1.13.sql and foo-1.15.sql.
If we assume the target is the current version, then we only need the
old-version number in the file name, so it doesn't matter how many
parts it has.
regards, tom lane