/[Frey]/trunk/lib/Strix/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

Diff of /trunk/lib/Strix/Schema.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 80 by dpavlin, Thu Jul 10 15:22:39 2008 UTC revision 102 by dpavlin, Fri Jul 11 23:01:54 2008 UTC
# Line 1  Line 1 
1  package Strix::Schema;  package Strix::Schema;
2    
 use Fey::DBIManager;  
 use Fey::DBIManager::Source;  
 use Fey::Loader;  
3  use Fey::ORM::Schema;  use Fey::ORM::Schema;
4    use Frey::Schema;
 use Storable;  
 use Data::Dump qw/dump/;  
 use URI::Escape;  
5    
6  my $dsn = 'dbi:Pg:dbname=new';  my $dsn = 'dbi:Pg:dbname=new';
7  $dsn = 'dbi:SQLite:dbname=./var/strix.sqlite';  $dsn = 'dbi:SQLite:dbname=./var/strix.sqlite';
8    
9  my $schema_file = 'var/schema.' . uri_escape( $dsn );  my ( $schema, $source ) = Frey::Schema->schema_source( $dsn );
   
 warn "Database $dsn schema cache $schema_file\n";  
   
 my $source = Fey::DBIManager::Source->new( dsn => $dsn );  
   
 my $schema;  
 #if ( 0 ) { # FIXME  
 if ( -e $schema_file ) {  
         $schema = retrieve $schema_file or die "can't read schema from $schema_file: $!";  
 } else {  
         $schema = Fey::Loader->new( dbh => $source->dbh() )->make_schema();  
         store $schema, $schema_file or warn "can't store schema into $schema_file: $!";  
 }  
10    
11  has_schema $schema;  has_schema $schema;
12    
# Line 33  warn Strix::Schema->SQLFactoryClass(); Line 14  warn Strix::Schema->SQLFactoryClass();
14    
15  __PACKAGE__->DBIManager()->add_source($source);  __PACKAGE__->DBIManager()->add_source($source);
16    
 warn "loaded.";  
   
17  1;  1;

Legend:
Removed from v.80  
changed lines
  Added in v.102

  ViewVC Help
Powered by ViewVC 1.1.26