001package io.ebeaninternal.dbmigration.ddlgeneration;
002
003import io.ebeaninternal.dbmigration.migration.AddColumn;
004import io.ebeaninternal.dbmigration.migration.AlterColumn;
005import io.ebeaninternal.dbmigration.migration.DropColumn;
006
007import java.io.IOException;
008
009/**
010 * Write DDL for AddColumn , DropColumn or AlterColumn.
011 */
012public interface ColumnDdl {
013
014  /**
015   * Write the add column change.
016   */
017  void generate(DdlWrite writer, AddColumn addColumn) throws IOException;
018
019  /**
020   * Write the drop column change.
021   */
022  void generate(DdlWrite writer, DropColumn dropColumn) throws IOException;
023
024  /**
025   * Write the alter column changes.
026   */
027  void generate(DdlWrite writer, AlterColumn alterColumn) throws IOException;
028}