Commit | Line | Data |
cc73c25e |
1 | package SQL::Translator::Parser; |
abb2c327 |
2 | use namespace::autoclean; |
cc73c25e |
3 | use Moose; |
d6201a5e |
4 | use MooseX::Types::Moose qw(Str); |
5 | use SQL::Translator::Types qw(DBIHandle); |
6 | #extends 'SQL::Translator'; |
cc73c25e |
7 | |
d6201a5e |
8 | my $apply_role_dbi = sub { |
9 | my $self = shift; |
10 | my $class = __PACKAGE__ . '::DBI'; |
11 | Class::MOP::load_class($class); |
12 | $class->meta->apply($self); |
13 | $self->_subclass(); |
14 | }; |
15 | |
16 | my $apply_role_ddl = sub { }; |
17 | |
18 | has 'dbh' => ( |
19 | isa => DBIHandle, |
20 | is => 'ro', |
21 | predicate => 'has_dbh', |
22 | trigger => $apply_role_dbi, |
23 | ); |
24 | |
25 | has 'ddl' => ( |
26 | isa => Str, |
27 | is => 'ro', |
28 | predicate => 'has_ddl', |
29 | trigger => $apply_role_ddl, |
30 | ); |
31 | |
32 | sub BUILD {} |
33 | |
34 | after BUILD => sub { |
35 | my $self = shift; |
36 | my $schema = SQL::Translator::Object::Schema->new({ name => $self->schema_name }); |
37 | $self->_add_tables($schema); |
38 | use Data::Dumper; |
39 | print Dumper($schema); |
40 | }; |
41 | |
d6201a5e |
42 | __PACKAGE__->meta->make_immutable; |
abb2c327 |
43 | |
cc73c25e |
44 | 1; |