defmodule ExSQL.AST.AlterTable do @moduledoc "An `ALTER TABLE` statement." @typedoc "The ALTER TABLE operation." @type op :: {:rename_table, String.t()} | {:rename_column, String.t(), String.t()} | {:add_column, ExSQL.AST.ColumnDef.t()} | {:drop_column, String.t()} defstruct name: nil, schema: nil, op: nil @type t :: %__MODULE__{ name: String.t(), schema: String.t() | nil, op: op() } end