Skip to content

Instantly share code, notes, and snippets.

@shelling
Created April 26, 2009 09:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shelling/101979 to your computer and use it in GitHub Desktop.
Save shelling/101979 to your computer and use it in GitHub Desktop.
#!/usr/bin/env perl
#
# author: shelling <shelling@cpan.org>
#
# This script is used to help Jifty Application
# to insert primitive data into database
use lib "lib";
use Jifty;
use Jifty::Everything;
use JiftyTest;
use Jifty::Util;
use YAML qw(Dump LoadFile);
use File::Basename;
use Data::Dumper;
BEGIN {
my $dbconfig = Jifty->config->stash->{framework}->{Database};
my $dbname = $dbconfig->{Database};
my $dbdriver = $dbconfig->{Driver};
my $dbhost = $dbconfig->{Host};
my $dbuser = $dbconfig->{User};
my $dbpassword = $dbconfig->{Password};
print "INFO - dbconfig: $dbdriver:$dbhost:$dbuser:$dbpassword:$dbname\n";
if ($dbdriver eq "SQLite" && -e $dbname) {
print "WARN - DB is existed. Delete it now... \n";
unlink $dbname;
}
Jifty->new;
}
for ( glob( Jifty::Util->app_root . "/etc/fixtures/*" ) ) {
my $data_array = LoadFile $_;
my $filename = basename($_);
$filename =~ s/\.yml//;
my $model = Jifty->app_class("Model",$filename)->new;
for $data_hash (@{ $data_array }) {
$model->create( %{$data_hash} )
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment