NAME

Doodle::Grammar

ABSTRACT

Doodle Grammar Base Class

SYNOPSIS

use Doodle::Grammar;

my $self = Doodle::Grammar->new(%args);

DESCRIPTION

Doodle::Grammar determines how Command classes should be interpreted to produce the correct DDL statements.

METHODS

This package implements the following methods.

create_column

create_column(Command $command) : Str

Generate SQL statement for column-create Command.

create_column example
my $create_column = $self->create_column;

create_constraint

create_constraint(Column $column) : Str

Returns the SQL statement for the create constraint command.

create_constraint example
$self->create_constraint($column);

# 

create_index

create_index(Command $command) : Str

Generate SQL statement for index-create Command.

create_index example
my $create_index = $self->create_index;

create_schema

create_schema(Command $command) : Str

Generate SQL statement for schema-create Command.

create_schema example
my $create_schema = $self->create_schema;

create_table

create_table(Command $command) : Str

Generate SQL statement for table-create Command.

create_table example
my $create_table = $self->create_table;

delete_column

delete_column(Command $command) : Str

Generate SQL statement for column-delete Command.

delete_column example
my $delete_column = $self->delete_column;

delete_constraint

delete_constraint(Column $column) : Str

Returns the SQL statement for the delete constraint command.

delete_constraint example
$self->delete_constraint($column);

# 

delete_index

delete_index(Command $command) : Str

Generate SQL statement for index-delete Command.

delete_index example
my $delete_index = $self->delete_index;

delete_schema

delete_schema(Command $command) : Str

Generate SQL statement for schema-delete Command.

delete_schema example
my $delete_schema = $self->delete_schema;

delete_table

delete_table(Command $command) : Str

Generate SQL statement for table-delete Command.

delete_table example
my $delete_table = $self->delete_table;

exception

exception(Str $message) : ()

Throws an exception using Carp confess.

exception example
$self->exception($message);

execute

execute(Command $command) : Statement

Processed the Command and returns a Statement object.

execute example
my $statement = $self->execute($command);

rename_column

rename_column(Command $command) : Str

Generate SQL statement for column-rename Command.

rename_column example
my $rename_column = $self->rename_column;

rename_table

rename_table(Command $command) : Str

Generate SQL statement for table-rename Command.

rename_table example
my $rename_table = $self->rename_table;

render

render(Command $command) : Str

Returns the SQL statement for the given Command.

render example
my $sql = $self->render($command);

update_column

update_column(Any @args) : Object

Generate SQL statement for column-update Command.

update_column example
my $update_column = $self->update_column;