Interface AlterTableExecutor

  • All Known Implementing Classes:

    public interface AlterTableExecutor
    Executes all the various database-specific table altering commands.

    PLEASE READ: Due to CONFDEV-7957 (and until HSQLDB addresses their concurrency issues), any upgrade tasks that composes this executor must be wrapped in a transaction proxy with REQUIRES_NEW propagation.

    • Method Detail

      • createDropUniqueConstraintIfExistsCommand

        AlterTableCommand createDropUniqueConstraintIfExistsCommand​(String bandanaUniqueKey)
      • createDropUniqueConstraintByColumnsCommand

        DropUniqueConstraintByColumnsCommand createDropUniqueConstraintByColumnsCommand​(String... columnNames)
        Drop constraints by column names. This operation is presently only supported for Oracle.
        tableName - Name of the table to alter
        columnNames - The names of the columns that make up the unique constraint
      • alterTable

        void alterTable​(String tableName,
                        List<? extends AlterTableCommand> commands)
        Perform a set of table altering actions on a given table. On some databases such as PostgreSQL this is combined into a single statement automatically. On other databases such as HSQLDB, each alter action is executed as a separate statement.
        tableName - Name of the table to alter
        commands - A collection of alter table actions to perform