Skip to main content
The 2024 Developer Survey results are live! See the results
deleted 23 characters in body
Source Link
Daniel
  • 23.3k
  • 12
  • 110
  • 155

I'm just in the process of configuring and fully understanding flyway and I came into this situation:

  • I successfully configured a new project to work with flyway.
  • I successfully migrated a test database from version 0 to 1.0.3.
  • Migration to version 1.0.4 failed to execute. (I was trying to add column that was already there, no problems so far, my bad.)

However, once that I made the necessary changes to the corresponding script to work, flyway kept showing this message:

 Current schema version: 1.0.4
 com.googlecode.flyway.core.migration.MigrationException: Migration to version 1.0.4 failed! Please restore backups and roll back database and code!

Since I didn't want to restore a complete dump and apply every migration again, just to make an alter table script to work, what I finally did were some changes to the 'schema_version' table:

  • 1st I erased the entry for version 1.0.4
  • 2nd I set the 'current_version' field to 1 for version 1.0.3
  • And then executed the flyway:migrate command again

After this, the migration finally was applied and a success message shown, however I´m not quite sure if this is the right approach to deal kind of this situations. I'm no sure if its right to modify the 'schema_version' table by myself since i think it should only be modified by flyway itself.

So, after explaining what happened to me, my question would be:

¿IsIs there a way to 'retry' to apply a failed migration in flyway, without modifying the 'schema_version' table by myself? ¿Any

Any command I'm not aware of to fulfill this task?

Thanks in advance.

I'm just in the process of configuring and fully understanding flyway and I came into this situation:

  • I successfully configured a new project to work with flyway.
  • I successfully migrated a test database from version 0 to 1.0.3.
  • Migration to version 1.0.4 failed to execute. (I was trying to add column that was already there, no problems so far, my bad.)

However, once that I made the necessary changes to the corresponding script to work, flyway kept showing this message:

 Current schema version: 1.0.4
 com.googlecode.flyway.core.migration.MigrationException: Migration to version 1.0.4 failed! Please restore backups and roll back database and code!

Since I didn't want to restore a complete dump and apply every migration again, just to make an alter table script to work, what I finally did were some changes to the 'schema_version' table:

  • 1st I erased the entry for version 1.0.4
  • 2nd I set the 'current_version' field to 1 for version 1.0.3
  • And then executed the flyway:migrate command again

After this, the migration finally was applied and a success message shown, however I´m not quite sure if this is the right approach to deal kind of this situations. I'm no sure if its right to modify the 'schema_version' table by myself since i think it should only be modified by flyway itself.

So, after explaining what happened to me, my question would be:

¿Is there a way to 'retry' to apply a failed migration in flyway, without modifying the 'schema_version' table by myself? ¿Any command I'm not aware of to fulfill this task?

Thanks in advance.

I'm just in the process of configuring and fully understanding flyway and I came into this situation:

  • I successfully configured a new project to work with flyway.
  • I successfully migrated a test database from version 0 to 1.0.3.
  • Migration to version 1.0.4 failed to execute. (I was trying to add column that was already there, no problems so far, my bad.)

However, once that I made the necessary changes to the corresponding script to work, flyway kept showing this message:

 Current schema version: 1.0.4
 com.googlecode.flyway.core.migration.MigrationException: Migration to version 1.0.4 failed! Please restore backups and roll back database and code!

Since I didn't want to restore a complete dump and apply every migration again, just to make an alter table script to work, what I finally did were some changes to the 'schema_version' table:

  • 1st I erased the entry for version 1.0.4
  • 2nd I set the 'current_version' field to 1 for version 1.0.3
  • And then executed the flyway:migrate command again

After this, the migration finally was applied and a success message shown, however I´m not quite sure if this is the right approach to deal kind of this situations. I'm no sure if its right to modify the 'schema_version' table by myself since i think it should only be modified by flyway itself.

So, after explaining what happened to me, my question would be:

Is there a way to 'retry' to apply a failed migration in flyway, without modifying the 'schema_version' table by myself?

Any command I'm not aware of to fulfill this task?

Source Link
pablocmg
  • 419
  • 2
  • 5
  • 11

Retry a flyway failed migration

I'm just in the process of configuring and fully understanding flyway and I came into this situation:

  • I successfully configured a new project to work with flyway.
  • I successfully migrated a test database from version 0 to 1.0.3.
  • Migration to version 1.0.4 failed to execute. (I was trying to add column that was already there, no problems so far, my bad.)

However, once that I made the necessary changes to the corresponding script to work, flyway kept showing this message:

 Current schema version: 1.0.4
 com.googlecode.flyway.core.migration.MigrationException: Migration to version 1.0.4 failed! Please restore backups and roll back database and code!

Since I didn't want to restore a complete dump and apply every migration again, just to make an alter table script to work, what I finally did were some changes to the 'schema_version' table:

  • 1st I erased the entry for version 1.0.4
  • 2nd I set the 'current_version' field to 1 for version 1.0.3
  • And then executed the flyway:migrate command again

After this, the migration finally was applied and a success message shown, however I´m not quite sure if this is the right approach to deal kind of this situations. I'm no sure if its right to modify the 'schema_version' table by myself since i think it should only be modified by flyway itself.

So, after explaining what happened to me, my question would be:

¿Is there a way to 'retry' to apply a failed migration in flyway, without modifying the 'schema_version' table by myself? ¿Any command I'm not aware of to fulfill this task?

Thanks in advance.