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 ($DEBUG, @EXPORT_OK); |
f6595170 | 25 | $DEBUG = 0 unless defined $DEBUG; |
0c04c5a2 | 26 | our $VERSION = '1.59'; |
f6595170 | 27 | |
28 | use Storable; | |
29 | use Exporter; | |
30 | use SQL::Translator::Utils qw(debug normalize_name); | |
31 | ||
32 | use base qw(Exporter); | |
33 | ||
34 | @EXPORT_OK = qw(parse); | |
35 | ||
36 | sub parse { | |
37 | my ($translator, $data) = @_; | |
38 | ||
ca0022de | 39 | if (defined($data)) { |
40 | $translator->{'schema'} = Storable::thaw($data); | |
41 | return 1; | |
42 | } elsif (defined($translator->filename)) { | |
43 | $translator->{'schema'} = Storable::retrieve($translator->filename); | |
44 | return 1; | |
45 | } | |
f6595170 | 46 | |
ca0022de | 47 | return 0; |
f6595170 | 48 | } |
49 | ||
50 | 1; | |
51 | ||
52 | =pod | |
53 | ||
54 | =head1 SEE ALSO | |
55 | ||
b57555af | 56 | SQL::Translator. |
f6595170 | 57 | |
b57555af | 58 | =head1 AUTHOR |
f6595170 | 59 | |
df32118c | 60 | Paul Harrington E<lt>harringp@deshaw.comE<gt>. |
f6595170 | 61 | |
62 | =cut |