/[Frey]/trunk/lib/Frey/Schema.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/lib/Frey/Schema.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 152 - (show annotations)
Wed Jul 16 23:17:59 2008 UTC (15 years, 9 months ago) by dpavlin
File size: 692 byte(s)
move schemas to it's own directory in var
1 package Frey::Schema;
2
3 use Fey::DBIManager;
4 use Fey::DBIManager::Source;
5 use Fey::Loader;
6
7 use Storable;
8 use URI::Escape;
9
10 use Data::Dump qw/dump/;
11
12 sub schema_source {
13 my ( $self,$dsn ) = @_;
14
15 my $schema_file = 'var/schema/' . uri_escape( $dsn );
16
17 # warn "## Database $dsn schema cache $schema_file\n";
18
19 my $source = Fey::DBIManager::Source->new( dsn => $dsn );
20
21 my $schema;
22 if ( -e $schema_file ) {
23 $schema = retrieve $schema_file or die "can't read schema from $schema_file: $!";
24 } else {
25 $schema = Fey::Loader->new( dbh => $source->dbh() )->make_schema();
26 store $schema, $schema_file or warn "can't store schema into $schema_file: $!";
27 }
28
29 return ( $schema, $source );
30 }
31
32 1;

  ViewVC Help
Powered by ViewVC 1.1.26