[Catalyst-commits] r9351 - in trunk/Catalyst-Example-InstantCRUD: .
lib/Catalyst/Example lib/Catalyst/Helper script t
zby at dev.catalyst.perl.org
zby at dev.catalyst.perl.org
Thu Feb 19 21:21:35 GMT 2009
Author: zby
Date: 2009-02-19 21:21:35 +0000 (Thu, 19 Feb 2009)
New Revision: 9351
Modified:
trunk/Catalyst-Example-InstantCRUD/Makefile.PL
trunk/Catalyst-Example-InstantCRUD/lib/Catalyst/Example/InstantCRUD.pm
trunk/Catalyst-Example-InstantCRUD/lib/Catalyst/Helper/InstantCRUD.pm
trunk/Catalyst-Example-InstantCRUD/script/instantcrud.pl
trunk/Catalyst-Example-InstantCRUD/t/20.create_dvdzbr.t
Log:
using example database when no DSN
Modified: trunk/Catalyst-Example-InstantCRUD/Makefile.PL
===================================================================
--- trunk/Catalyst-Example-InstantCRUD/Makefile.PL 2009-02-19 19:19:56 UTC (rev 9350)
+++ trunk/Catalyst-Example-InstantCRUD/Makefile.PL 2009-02-19 21:21:35 UTC (rev 9351)
@@ -26,12 +26,11 @@
# 'Catalyst::Plugin::Authentication::Credential::Password' => 0,
'Catalyst::Plugin::Session::State::Cookie' => 0,
'Catalyst::Plugin::Session::Store::FastMmap' => 0,
- 'Rose::HTMLx::Form::DBIC' => 0.03,
+ 'Rose::HTMLx::Form::DBIC' => 0.05,
'Rose::HTMLx::Form::DBIC::FormGenerator' => 0,
'Path::Class' => 0,
# 'version' => 0,
# 'URI::Escape' => 0,
- 'File::Spec' => 0,
'File::Slurp' => 0,
'Pod::Usage' => 0,
'List::Util' => 0,
Modified: trunk/Catalyst-Example-InstantCRUD/lib/Catalyst/Example/InstantCRUD.pm
===================================================================
--- trunk/Catalyst-Example-InstantCRUD/lib/Catalyst/Example/InstantCRUD.pm 2009-02-19 19:19:56 UTC (rev 9350)
+++ trunk/Catalyst-Example-InstantCRUD/lib/Catalyst/Example/InstantCRUD.pm 2009-02-19 21:21:35 UTC (rev 9351)
@@ -1,6 +1,6 @@
package Catalyst::Example::InstantCRUD;
-use version; $VERSION = qv('0.0.25');
+use version; $VERSION = qv('0.0.26');
use warnings;
use strict;
Modified: trunk/Catalyst-Example-InstantCRUD/lib/Catalyst/Helper/InstantCRUD.pm
===================================================================
--- trunk/Catalyst-Example-InstantCRUD/lib/Catalyst/Helper/InstantCRUD.pm 2009-02-19 19:19:56 UTC (rev 9350)
+++ trunk/Catalyst-Example-InstantCRUD/lib/Catalyst/Helper/InstantCRUD.pm 2009-02-19 21:21:35 UTC (rev 9351)
@@ -1,7 +1,8 @@
package Catalyst::Helper::InstantCRUD;
use base Catalyst::Helper;
+use Path::Class;
-use version; $VERSION = qv('0.0.6');
+use version; $VERSION = qv('0.0.7');
use warnings;
use strict;
@@ -15,7 +16,7 @@
sub _mk_rootclass {
my $self = shift;
$self->render_file( 'rootclass',
- File::Spec->catfile( $self->{c}, "Root.pm" ) );
+ file( $self->{c}, "Root.pm" ) );
}
sub _mk_config {
@@ -23,7 +24,7 @@
my $dir = $self->{dir};
my $appprefix = $self->{appprefix};
$self->render_file( 'config',
- File::Spec->catfile( $dir, "$appprefix.yml" ) );
+ file( $dir, "$appprefix.yml" ) );
}
# No CHANGES file (already created)
Modified: trunk/Catalyst-Example-InstantCRUD/script/instantcrud.pl
===================================================================
--- trunk/Catalyst-Example-InstantCRUD/script/instantcrud.pl 2009-02-19 19:19:56 UTC (rev 9350)
+++ trunk/Catalyst-Example-InstantCRUD/script/instantcrud.pl 2009-02-19 21:21:35 UTC (rev 9351)
@@ -6,7 +6,7 @@
use strict;
use Getopt::Long;
use Pod::Usage;
-use File::Spec;
+use Path::Class;
use File::Slurp;
use Catalyst::Helper::InstantCRUD;
use Catalyst::Utils;
@@ -15,7 +15,6 @@
use DBIx::Class::Schema::Loader::RelBuilder;
use List::Util qw(first);
use DBI;
-use File::Temp;
my $help = 0;
@@ -36,7 +35,6 @@
my %authz;
-#print create_example_db(), "\n";
#exit;
GetOptions(
@@ -84,13 +82,22 @@
my $appdir = $appname;
$appdir =~ s/::/-/g;
-local $FindBin::Bin = File::Spec->catdir($appdir, 'script');
+if( ! $dsn ){
+ my $db_file = lc $appname . '.db';
+ $db_file =~ s/::/_/g;
+ $db_file = file( $appdir, $db_file )->absolute->stringify;
+ create_example_db( $db_file );
+ print "Database created at $db_file\n";
+ $dsn = "dbi:SQLite:dbname=$db_file";
+}
+local $FindBin::Bin = dir($appdir, 'script');
+
make_schema_at(
$appname . '::' . $schema_name,
{
# debug => 1,
- dump_directory => "$appdir/lib",
+ dump_directory => file( $appdir , 'lib')->stringify,
use_namespaces => 1,
default_resultset_class => '+DBIx::Class::ResultSet::RecursiveUpdate',
},
@@ -111,7 +118,7 @@
my $overload_method = first { $_ =~ /name/i } $result_source->columns;
$overload_method ||= 'id';
my @path = split /::/ , $appname . '::' . $schema_name;
- my $file = File::Spec->rel2abs( File::Spec->catfile($appdir, 'lib', @path, 'Result', $result_class . '.pm' ) );
+ my $file = file( $appdir, 'lib', @path, 'Result', $result_class . '.pm' )->absolute->stringify;
my $content = File::Slurp::slurp( $file );
my $addition = q/use overload '""' => sub {$_[0]->/ . $overload_method . "}, fallback => 1;\n";
for my $m ( @{$m2m->{$result_class}} ){
@@ -190,8 +197,8 @@
}
sub create_example_db {
- my $tmp = File::Temp->new( UNLINK => 0, SUFFIX => '.db' );
- my $dsn ||= 'dbi:SQLite:dbname=' . $tmp->filename;
+ my $filename = shift;
+ my $dsn ||= 'dbi:SQLite:dbname=' . $filename;
my $dbh = DBI->connect( $dsn ) or die "Cannot connect to $dsn\n";
my $sql;
@@ -200,11 +207,11 @@
$sql = <DATA>;
}
- for my $statement ( split /^\s*$/m, $sql ){
- warn "executing: \n$statement";
+ for my $statement ( split /;/, $sql ){
+ next if $statement =~ /\A\s*\z/;
+# warn "executing: \n$statement";
$dbh->do($statement) or die $dbh->errstr;
}
- return $tmp->filename;
}
@@ -374,6 +381,7 @@
=cut
__DATA__
+BEGIN TRANSACTION;
CREATE TABLE dvd (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
name VARCHAR(255) DEFAULT NULL,
@@ -384,33 +392,77 @@
alter_date datetime DEFAULT NULL,
hour time DEFAULT NULL
);
-
+INSERT INTO "dvd" VALUES(2,'Hohoho',1,1,1,'1990-08-23','2000-02-17 10:00:00','10:00');
+DELETE FROM sqlite_sequence;
+INSERT INTO "sqlite_sequence" VALUES('role',2);
+INSERT INTO "sqlite_sequence" VALUES('tag',25);
+INSERT INTO "sqlite_sequence" VALUES('user',3);
+INSERT INTO "sqlite_sequence" VALUES('dvd',4);
CREATE TABLE dvdtag (
dvd INTEGER NOT NULL DEFAULT '0' REFERENCES dvd (id),
tag INTEGER NOT NULL DEFAULT '0' REFERENCES tag (id),
PRIMARY KEY (dvd,tag)
);
-
+INSERT INTO "dvdtag" VALUES(2,1);
+INSERT INTO "dvdtag" VALUES(2,2);
+INSERT INTO "dvdtag" VALUES(2,5);
+INSERT INTO "dvdtag" VALUES(2,6);
+INSERT INTO "dvdtag" VALUES(3,1);
+INSERT INTO "dvdtag" VALUES(0,7);
+INSERT INTO "dvdtag" VALUES(4,1);
+INSERT INTO "dvdtag" VALUES(1,0);
+INSERT INTO "dvdtag" VALUES(1,1);
+INSERT INTO "dvdtag" VALUES(1,2);
+INSERT INTO "dvdtag" VALUES(1,4);
+INSERT INTO "dvdtag" VALUES(1,6);
CREATE TABLE role (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
role VARCHAR(255)
);
-
+INSERT INTO "role" VALUES(1,'Write');
+INSERT INTO "role" VALUES(2,'Read');
CREATE TABLE tag (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
name VARCHAR(255) DEFAULT NULL
);
-
+INSERT INTO "tag" VALUES(1,'Action');
+INSERT INTO "tag" VALUES(2,'Romance');
+INSERT INTO "tag" VALUES(3,'Tag1');
+INSERT INTO "tag" VALUES(4,'Tag2');
+INSERT INTO "tag" VALUES(5,'Tag3');
+INSERT INTO "tag" VALUES(6,'Tag4');
+INSERT INTO "tag" VALUES(8,'aa');
+INSERT INTO "tag" VALUES(9,'aaa');
+INSERT INTO "tag" VALUES(10,'aaaa');
+INSERT INTO "tag" VALUES(11,'aaaaa');
+INSERT INTO "tag" VALUES(12,'aaaaa');
+INSERT INTO "tag" VALUES(13,'aaaaaa');
+INSERT INTO "tag" VALUES(14,'aaaaaaa');
+INSERT INTO "tag" VALUES(15,'aaaaaaaa');
+INSERT INTO "tag" VALUES(16,'aaaaaaaaa');
+INSERT INTO "tag" VALUES(17,'aaaaaaaaaa');
+INSERT INTO "tag" VALUES(18,'aaaaaaaaaaa');
+INSERT INTO "tag" VALUES(19,'aaaaaaaaaaaa');
+INSERT INTO "tag" VALUES(20,'aaaaaaaaaaaaa');
+INSERT INTO "tag" VALUES(21,'aaaaaaaaaaaaaa');
+INSERT INTO "tag" VALUES(22,'aaaaaaaaaaaaaaa');
+INSERT INTO "tag" VALUES(23,'aaaaaaaaaaaaaaaa');
+INSERT INTO "tag" VALUES(24,'aaaaaaaaaaaaaaaaa');
+INSERT INTO "tag" VALUES(25,'aaaaaaaaaaaaaaaaaa');
CREATE TABLE user (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
username VARCHAR(255) DEFAULT NULL,
password VARCHAR(255) DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL
);
-
+INSERT INTO "user" VALUES(1,'jgda','35a2c6fae61f8077aab61faa4019722abf05093c','Jonas Alves');
+INSERT INTO "user" VALUES(2,'isa','59dc310530b44e8dd1231682b4cc5f2458af1c60','Isa');
CREATE TABLE user_role (
user INTEGER NOT NULL DEFAULT '0' REFERENCES user (id),
role INTEGER NOT NULL DEFAULT '0' REFERENCES role (id),
PRIMARY KEY (user, role)
);
-
+INSERT INTO "user_role" VALUES(1,1);
+INSERT INTO "user_role" VALUES(1,2);
+INSERT INTO "user_role" VALUES(3,0);
+COMMIT;
Modified: trunk/Catalyst-Example-InstantCRUD/t/20.create_dvdzbr.t
===================================================================
--- trunk/Catalyst-Example-InstantCRUD/t/20.create_dvdzbr.t 2009-02-19 19:19:56 UTC (rev 9350)
+++ trunk/Catalyst-Example-InstantCRUD/t/20.create_dvdzbr.t 2009-02-19 21:21:35 UTC (rev 9351)
@@ -10,13 +10,8 @@
rmtree( ["t/tmp/$app", "t/tmp/$lcapp.db"] );
-my $testfile = file('t', 'tmp', "$lcapp.db")->absolute->stringify;
-my $origtestfile = file('t', 'var', "$lcapp.db")->absolute->stringify;
+`cd t/tmp; $^X -I../../lib ../../script/instantcrud.pl -name=$app`;
-copy $origtestfile, $testfile;
-
-`cd t/tmp; $^X -I../../lib ../../script/instantcrud.pl -name=$app -dsn='dbi:SQLite:dbname=$testfile'`;
-
ok( -f "t/tmp/$app/lib/$app/DBSchema.pm", 'DBSchema creation');
More information about the Catalyst-commits
mailing list