Interface IMigration

All Superinterfaces:
BaseMigration<Migrator>

public interface IMigration extends BaseMigration<Migrator>
Represents a migration script. Once the script is run it will be registered in the persistent storage as applied and will never be run again.

Migration script guidelines:

  1. Avoid including destructive operations into migration scripts. Destructive operations are removing database table, removing a queue from QMS, removing table column, data deletion, etc
  2. If you have to use destructive operations to initiate sandbox-like environments, use ISandboxMigration
  3. Fail earlier: if inconsistent state has been detected don't try to execute the next statement, fail right away. You can fail the script by throwing any exception. No further migration scripts will be executed in this case and the failing script will not be registered as applied
  4. Include pre-condition checks to the script in order to fail earlier