Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- {
- package My::DB;
- use base qw(Rose::DB);
- __PACKAGE__->use_private_registry;
- __PACKAGE__->default_domain("dev");
- __PACKAGE__->default_type("temp");
- # register some fake dbs
- __PACKAGE__->register_db(
- driver => "sqlite",
- database => "dummy-sqlite.db"
- );
- __PACKAGE__->register_db(
- type => 'main',
- driver => 'mysql',
- database => 'dummy',
- host => 'localhost',
- username => 'dbuser',
- password => 'dbuser',
- );
- }
- {
- package My::DB::Object;
- use base qw(Rose::DB::Object);
- }
- {
- package My::DB::Item;
- use base qw(My::DB::Object);
- __PACKAGE__->meta->setup(
- table => 'items',
- auto => 1,
- );
- }
- {
- package My::DB::Item::Manager;
- use base qw(Rose::DB::Object::Manager);
- sub object_class { 'My::DB::Item' };
- __PACKAGE__->make_manager_methods( 'items' );
- }
- package main;
- use Modern::Perl;
- use Data::Dumper;
- use diagnostics;
- # modify db registry with real db info
- My::DB->modify_db(
- domain => 'dev',
- type => 'temp',
- driver => 'sqlite',
- database => "real-sqlite.db",
- );
- my $temp_db = Maggie::DB->new('temp');
- say "temp-db => ", Data::Dumper->Dump([$temp_db]);
- My::DB->modify_db(
- domain => 'dev',
- type => 'main',
- driver => 'mysql',
- database => 'realdb',
- host => 'localhost',
- username => 'dbuser',
- password => 'dbuser',
- );
- my $main_db = Maggie::DB->new('main');
- say "main-db => ", Data::Dumper->Dump([$main_db]);
Add Comment
Please, Sign In to add comment