/[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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 152 - (hide 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 dpavlin 102 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 dpavlin 152 my $schema_file = 'var/schema/' . uri_escape( $dsn );
16 dpavlin 102
17 dpavlin 141 # warn "## Database $dsn schema cache $schema_file\n";
18 dpavlin 102
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