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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 49 - (show annotations)
Wed Jul 2 21:10:57 2008 UTC (15 years, 9 months ago) by dpavlin
File size: 766 byte(s)
first version of introspection tool which dump joose classes with attributes
version bump [0.03]
1 package Strix::Schema;
2
3 use Fey::DBIManager;
4 use Fey::DBIManager::Source;
5 use Fey::Loader;
6 use Fey::ORM::Schema;
7
8 use Storable;
9 use Data::Dump qw/dump/;
10 use URI::Escape;
11
12 my $dsn = 'dbi:Pg:dbname=new';
13 #$dsn = 'dbi:SQLite:dbname=./var/strix.sqlite';
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 has_schema $schema;
30
31 __PACKAGE__->DBIManager()->add_source($source);

  ViewVC Help
Powered by ViewVC 1.1.26