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
007/**
008 * Write DDL for AddColumn , DropColumn or AlterColumn.
009 */
010public interface ColumnDdl {
011
012  /**
013   * Write the add column change.
014   */
015  void generate(DdlWrite writer, AddColumn addColumn);
016
017  /**
018   * Write the drop column change.
019   */
020  void generate(DdlWrite writer, DropColumn dropColumn);
021
022  /**
023   * Write the alter column changes.
024   */
025  void generate(DdlWrite writer, AlterColumn alterColumn);
026}