Commit | Line | Data |
---|---|---|
f6595170 | 1 | package SQL::Translator::Parser::Storable; |
2 | ||
f6595170 | 3 | =head1 NAME |
4 | ||
df32118c | 5 | SQL::Translator::Parser::Storable - parser for Schema objects serialized |
6 | with the Storable module | |
f6595170 | 7 | |
8 | =head1 SYNOPSIS | |
9 | ||
10 | use SQL::Translator; | |
f6595170 | 11 | |
12 | my $translator = SQL::Translator->new; | |
df32118c | 13 | $translator->parser('Storable'); |
f6595170 | 14 | |
15 | =head1 DESCRIPTION | |
16 | ||
17 | Slurps in a Schema from a Storable file on disk. You can then turn | |
18 | the data into a database tables or graphs. | |
19 | ||
20 | =cut | |
21 | ||
22 | use strict; | |
f27f9229 | 23 | use warnings; |
0c04c5a2 | 24 | our $VERSION = '1.59'; |
f6595170 | 25 | |
bdf60588 | 26 | our $DEBUG; |
27 | $DEBUG = 0 unless defined $DEBUG; | |
28 | ||
f6595170 | 29 | use Storable; |
f6595170 | 30 | use SQL::Translator::Utils qw(debug normalize_name); |
31 | ||
32 | use base qw(Exporter); | |
bdf60588 | 33 | our @EXPORT_OK = qw(parse); |
f6595170 | 34 | |
35 | sub parse { | |
36 | my ($translator, $data) = @_; | |
37 | ||
ca0022de | 38 | if (defined($data)) { |
39 | $translator->{'schema'} = Storable::thaw($data); | |
40 | return 1; | |
41 | } elsif (defined($translator->filename)) { | |
42 | $translator->{'schema'} = Storable::retrieve($translator->filename); | |
43 | return 1; | |
44 | } | |
f6595170 | 45 | |
ca0022de | 46 | return 0; |
f6595170 | 47 | } |
48 | ||
49 | 1; | |
50 | ||
51 | =pod | |
52 | ||
53 | =head1 SEE ALSO | |
54 | ||
b57555af | 55 | SQL::Translator. |
f6595170 | 56 | |
b57555af | 57 | =head1 AUTHOR |
f6595170 | 58 | |
df32118c | 59 | Paul Harrington E<lt>harringp@deshaw.comE<gt>. |
f6595170 | 60 | |
61 | =cut |