com.atlassian.confluence.upgrade.ddl
Interface AlterTableExecutor
- All Known Implementing Classes:
- HibernateAlterTableExecutor
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.
- Since:
- 4.0
createAlterColumnNullChoiceCommand
AlterColumnNullabilityCommand createAlterColumnNullChoiceCommand(String columnName,
String oldDataType,
NullChoice nullChoice)
createAddUniqueConstraintCommand
AddUniqueConstraintCommand createAddUniqueConstraintCommand(String constraintName,
String... columnNames)
createDropUniqueConstraintCommand
DropUniqueConstraintCommand createDropUniqueConstraintCommand(String constraintName)
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.
- Parameters:
tableName
- Name of the table to altercommands
- A collection of alter table actions to perform
getAlterTableStatements
List<String> getAlterTableStatements(String tableName,
List<? extends AlterTableCommand> commands)