fix up PrimaryKey and ForeignKey parsing
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Parser.pm
index ff055b5..7b59ced 100644 (file)
@@ -1,5 +1,41 @@
 package SQL::Translator::Parser;
+use namespace::autoclean;
 use Moose;
-extends 'SQL::Translator';
+use MooseX::Types::Moose qw(Str);
+use SQL::Translator::Types qw(DBIHandle);
+use aliased 'SQL::Translator::Object::Schema';
+
+my $apply_role_dbi = sub {
+    my $self = shift;
+    my $class = __PACKAGE__ . '::DBI';
+    Class::MOP::load_class($class);
+    $class->meta->apply($self);
+    $self->_subclass();
+};
+
+my $apply_role_ddl = sub { };
+
+has 'dbh' => (
+    isa => DBIHandle,
+    is => 'ro',
+    predicate => 'has_dbh',
+    trigger => $apply_role_dbi,
+);
+
+has 'filename' => (
+    isa => Str,
+    is => 'ro',
+    predicate => 'has_ddl',
+    trigger => $apply_role_ddl,
+);
+
+sub parse {
+    my $self = shift;
+    my $schema = Schema->new({ name => $self->schema_name });
+    $self->_add_tables($schema);
+    $schema;
+}
+
+__PACKAGE__->meta->make_immutable;
 
 1;