2 role SQL::Translator::Object::Compat {
3 use MooseX::Types qw(Any ArrayRef Int Str);
4 use SQL::Translator::Types qw(Column Constraint Index Procedure Table Trigger View);
6 use MooseX::MultiMethods;
8 multi method fields(Str $columns) {
10 my @columns = split /\s*,\s*/, $columns;
11 for my $column (@columns) {
12 die "Column '$column' does not exist!" unless $self->table->exists_column($column);
13 $self->add_column($self->table->get_column($column));
18 multi method fields(ArrayRef $columns) {
20 for my $column (@$columns) {
21 die "Column '$column' does not exist!" unless $self->table->exists_column($column);
22 $self->add_column($self->table->get_column($column));
27 multi method fields { $self->column_ids }
29 method add_field(Column $column does coerce) { $self->add_column($column) }
31 method drop_column(Column|Str $column, Int :$cascade = 0) { $self->remove_column($column, cascade => $cascade) }
32 method drop_constraint(Constraint|Str $constraint) { $self->remove_constraint($constraint) }
33 method drop_index(Index|Str $index) { $self->remove_index($index) }
34 method drop_procedure(Procedure|Str $procedure) { $self->remove_procedure($procedure) }
35 method drop_table(Table|Str $table, Int :$cascade = 0) { $self->remove_table($table, cascade => $cascade) }
36 method drop_trigger(Trigger|Str $trigger) { $self->remove_trigger($trigger) }
37 method drop_view(View|Str $view) { $self->remove_view($view) }
39 method get_fields { $self->get_columns }
40 method get_field { $self->get_column }
41 method field_names { $self->column_ids }
42 method reference_fields { $self->reference_columns }