Hatena::Groupcatalyst

dann@catalyst このページをアンテナに追加 RSSフィード

2008-02-16

Catalyst::Helper::Schema::DumperでYAMLからdsnなど取得

02:57 |  Catalyst::Helper::Schema::DumperでYAMLからdsnなど取得 - dann@catalyst を含むブックマーク はてなブックマーク -  Catalyst::Helper::Schema::DumperでYAMLからdsnなど取得 - dann@catalyst  Catalyst::Helper::Schema::DumperでYAMLからdsnなど取得 - dann@catalyst のブックマークコメント

myapp.ymlから、dsn, user, passwordを取得するようにした。helperにdsn, user, password渡さなくていいからhelperの使い方を覚えてなくてもいい。

--- Dumper.pm.orig      2008-02-17 02:17:10.000000000 +0900
+++ Dumper.pm   2008-02-17 02:22:06.000000000 +0900
@@ -47,7 +47,7 @@

     my @path = (split('::', $app), 'Schema');

-    $helper->render_file( 'script', $script, { path => \@path, arg => \@arg } );
+    $helper->render_file( 'script', $script, { path => \@path, appprefix => Catalyst::Utils::appprefix($app) } );
     chmod 0755, $script;
 }

@@ -75,6 +75,7 @@
 use strict;
 use warnings;

+use YAML;
 use FindBin;
 use File::Spec;
 use lib File::Spec->catfile( $FindBin::Bin, qw/.. schema lib/ );
@@ -82,10 +83,6 @@
 use Path::Class qw/file dir/;
 use DBIx::Class::Schema::Loader qw/make_schema_at/;

-my @arg = defined @ARGV ? @ARGV : qw([% arg.join(",") %]);
-
-die unless @arg;
-
 # do manual delete instead of really_erase_my_files option
 #    for keep MyApp/Schema.pm
 my $libdir = dir($FindBin::Bin, '..', 'lib', '[% path.join("', '") %]' );
@@ -93,13 +90,16 @@
     $libdir->rmtree;
 }

+my $config = YAML::LoadFile(File::Spec->catfile( $FindBin::Bin, '..', '[% appprefix %].yml'));
+my $db_config = $config->{'Model::DBIC'};
+
 make_schema_at(
-    '[% app %]::Schema',
+    $db_config->{schema_class},
     {   components => [ 'ResultSetManager', 'UTF8Columns' ],
         dump_directory => File::Spec->catfile( $FindBin::Bin, '..', 'lib' ),
         debug          => 1,
     },
-    \@arg,
+    $db_config->{'connect_info'},
 );

 1;

ShelcyShelcy2012/10/30 22:21Thought it wuoldn't to give it a shot. I was right.

huhgqysvfohuhgqysvfo2012/11/01 01:23jAF3Eb <a href="http://sgebxcktvppi.com/">sgebxcktvppi</a>

rgukfswkrgukfswk2012/11/01 06:34syuiuf , [url=http://tcxhglztdxaa.com/]tcxhglztdxaa[/url], [link=http://vsssdqhlinam.com/]vsssdqhlinam[/link], http://wgthsyqwdlzk.com/

hbwepcntafahbwepcntafa2012/11/01 13:10QC20R0 <a href="http://sxlvgxikvans.com/">sxlvgxikvans</a>

ayaxcknayaxckn2012/11/02 02:00MCWowV , [url=http://lfxurgdvfssk.com/]lfxurgdvfssk[/url], [link=http://dfhlnklckjue.com/]dfhlnklckjue[/link], http://audqpmbmroqf.com/

トラックバック - http://catalyst.g.hatena.ne.jp/dann/20080216