--- trunk/lib/Strix/Schema.pm 2008/06/28 11:49:35 2 +++ trunk/lib/Strix/Schema.pm 2008/07/10 15:22:39 80 @@ -5,10 +5,34 @@ use Fey::Loader; use Fey::ORM::Schema; -my $source = Fey::DBIManager::Source->new( dsn => 'dbi:Pg:dbname=intwww' ); +use Storable; +use Data::Dump qw/dump/; +use URI::Escape; -my $schema = Fey::Loader->new( dbh => $source->dbh() )->make_schema(); +my $dsn = 'dbi:Pg:dbname=new'; +$dsn = 'dbi:SQLite:dbname=./var/strix.sqlite'; + +my $schema_file = 'var/schema.' . uri_escape( $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: $!"; +} has_schema $schema; +warn Strix::Schema->SQLFactoryClass(); + __PACKAGE__->DBIManager()->add_source($source); + +warn "loaded."; + +1;