php-migration icon indicating copy to clipboard operation
php-migration copied to clipboard

Is there a way to set initial schema version?

Open cthu1hoo opened this issue 3 years ago • 1 comments

i.e. assume that base schema corresponds to version X instead of "0". otherwise i'm not sure how should this be integrated with an application that has extant migrations.

my thought was to create migrations record table filled with initial data in the base schema but it seems hackish somehow.

a few additional thoughts:

  • it seems to me that having base schema at version 0, always, and running all migrations all the time would quickly become unwieldy
  • more importantly, over the years database syntax may change and older migrations may become incompatible with newer database server releases (this happened to me both with postgres and mysql).

therefore, i normally keep base schema at latest version and support migrations from older installed schemas as needed.

thanks for any advice.

cthu1hoo avatar Mar 03 '21 16:03 cthu1hoo

Hello, it is possible to have a base from different versions. Basically, the system uses the base.sql here and we start from "0" here.

So, it means, if we manage getBaseSql() to get a base.sql file in the format "base-nnnnn.sql" (where nnnnn is the version) we can trick the system to start the migration from that version.

byjg avatar Mar 15 '21 08:03 byjg