]> Frank Brehm's Git Trees - cookbook.git/commitdiff
Neu dazu
authorFrank Brehm <frank@brehm-online.com>
Thu, 9 Aug 2007 14:27:51 +0000 (14:27 +0000)
committerFrank Brehm <frank@brehm-online.com>
Thu, 9 Aug 2007 14:27:51 +0000 (14:27 +0000)
git-svn-id: http://svn.brehm-online.com/svn/cookbook/trunk@14 191103c4-1d37-0410-b3e5-d8c2315c0aac

18 files changed:
lib/CookBook/Db.pm [new file with mode: 0644]
lib/CookBook/Db/Authors.pm [new file with mode: 0644]
lib/CookBook/Db/RecipeAuthors.pm [new file with mode: 0644]
lib/CookBook/Db/Recipes.pm [new file with mode: 0644]
lib/CookBook/Db/Session.pm [new file with mode: 0644]
lib/CookBook/Db/SessionLog.pm [new file with mode: 0644]
lib/CookBook/Db/Users.pm [new file with mode: 0644]
lib/CookBook/Db/YieldTypes.pm [new file with mode: 0644]
lib/CookBook/Model/CookBookDb.pm [new file with mode: 0644]
lib/CookBookDb.pm [new file with mode: 0644]
lib/CookBookDb/Authors.pm [new file with mode: 0644]
lib/CookBookDb/RecipeAuthors.pm [new file with mode: 0644]
lib/CookBookDb/Recipes.pm [new file with mode: 0644]
lib/CookBookDb/Session.pm [new file with mode: 0644]
lib/CookBookDb/SessionLog.pm [new file with mode: 0644]
lib/CookBookDb/Users.pm [new file with mode: 0644]
lib/CookBookDb/YieldTypes.pm [new file with mode: 0644]
t/model_CookBookDb.t [new file with mode: 0644]

diff --git a/lib/CookBook/Db.pm b/lib/CookBook/Db.pm
new file mode 100644 (file)
index 0000000..fb77c84
--- /dev/null
@@ -0,0 +1,44 @@
+package CookBook::Db;
+
+# $Id$
+# $URL$
+
+=head1 NAME
+
+CookBook::Db
+
+=head1 DESCRIPTION
+
+Module for abstract database access to the CookBook-schema
+
+=cut
+
+#---------------------------------------------------------------------------
+
+use strict;
+use warnings;
+
+use CookBook::Common;
+
+use base qw/DBIx::Class::Schema/;
+
+__PACKAGE__->load_classes(
+    qw/
+        Authors
+        RecipeAuthors
+        Recipes
+        Session
+        SessionLog
+        Users
+        YieldTypes
+        /
+);
+
+#----------------------------------------------------------------------------------------
+
+1;
+
+#----------------------------------------------------------------------------------------
+
+__END__
+
diff --git a/lib/CookBook/Db/Authors.pm b/lib/CookBook/Db/Authors.pm
new file mode 100644 (file)
index 0000000..09c5567
--- /dev/null
@@ -0,0 +1,58 @@
+package CookBook::Db::Authors;
+
+# $Id$
+# $URL$
+
+=head1 NAME
+
+CookBook::Db::Authors
+
+=head1 DESCRIPTION
+
+Module for abstract database access to the table 'authors'
+
+=cut
+
+#---------------------------------------------------------------------------
+
+use strict;
+use warnings;
+
+use CookBook::Common;
+use base qw/DBIx::Class/;
+
+__PACKAGE__->load_components(
+    qw/
+        PK::Auto
+        Core
+        /
+);
+
+__PACKAGE__->table('authors');
+
+__PACKAGE__->add_columns(
+    "author_id" => {
+        'data_type'         => "INT",
+        'default_value'     => undef,
+        'is_nullable'       => 0,
+        'size'              => 10,
+        'is_auto_increment' => 1,
+        'extras'            => { 'unsigned' => 1 },
+    },
+    "user_id" => { 'data_type' => "INT", 'default_value' => undef, 'is_nullable' => 1, 'size' => 10, 'extras' => { 'unsigned' => 1 }, },
+    "author_name"  => { 'data_type' => "VARCHAR",  'default_value' => "", 'is_nullable' => 0, 'size' => 100 },
+    "date_created" => { 'data_type' => "DATETIME", 'default_value' => "", 'is_nullable' => 0, 'size' => 19 },
+);
+
+__PACKAGE__->set_primary_key("author_id");
+
+__PACKAGE__->might_have( 'user' => 'CookBook::Db::Users', { 'foreign.user_id' => 'self.user_id' } );
+
+#----------------------------------------------------------------------------------------
+
+1;
+
+#----------------------------------------------------------------------------------------
+
+__END__
+
diff --git a/lib/CookBook/Db/RecipeAuthors.pm b/lib/CookBook/Db/RecipeAuthors.pm
new file mode 100644 (file)
index 0000000..ad92a14
--- /dev/null
@@ -0,0 +1,60 @@
+package CookBook::Db::RecipeAuthors;
+
+# $Id$
+# $URL$
+
+=head1 NAME
+
+CookBook::Db::RecipeAuthors
+
+=head1 DESCRIPTION
+
+Module for abstract database access to the table 'recipe_authors'
+
+=cut
+
+#---------------------------------------------------------------------------
+
+use strict;
+use warnings;
+
+use CookBook::Common;
+use base qw/DBIx::Class/;
+
+__PACKAGE__->load_components(
+    qw/
+        PK::Auto
+        Core
+        /
+);
+
+__PACKAGE__->table('recipe_authors');
+
+__PACKAGE__->add_columns(
+    "recipe_author_id" => {
+        'data_type'         => "INT",
+        'default_value'     => undef,
+        'is_nullable'       => 0,
+        'size'              => 10,
+        'is_auto_increment' => 1,
+        'extras'            => { 'unsigned' => 1 },
+    },
+    "recipe_id"   => { 'data_type' => "INT", 'default_value' => 0, 'is_nullable' => 0, 'size' => 10, 'extras' => { 'unsigned' => 1 } },
+    "author_id"   => { 'data_type' => "INT", 'default_value' => 0, 'is_nullable' => 0, 'size' => 10, 'extras' => { 'unsigned' => 1 } },
+    "order_index" => { 'data_type' => "INT", 'default_value' => 0, 'is_nullable' => 0, 'size' => 10, 'extras' => { 'unsigned' => 1 } },
+    "date_created" => { 'data_type' => "DATETIME", 'default_value' => "", 'is_nullable' => 0, 'size' => 19 },
+);
+
+__PACKAGE__->set_primary_key("recipe_author_id");
+
+__PACKAGE__->belongs_to( 'recipe' => 'CookBook::Db::Recipes', 'recipe_id', );
+__PACKAGE__->belongs_to( 'author' => 'CookBook::Db::Authors', 'author_id', );
+
+#----------------------------------------------------------------------------------------
+
+1;
+
+#----------------------------------------------------------------------------------------
+
+__END__
+
diff --git a/lib/CookBook/Db/Recipes.pm b/lib/CookBook/Db/Recipes.pm
new file mode 100644 (file)
index 0000000..a19ffc5
--- /dev/null
@@ -0,0 +1,72 @@
+package CookBook::Db::Recipes;
+
+# $Id$
+# $URL$
+
+=head1 NAME
+
+CookBook::Db::Recipes
+
+=head1 DESCRIPTION
+
+Module for abstract database access to the table 'recipes'
+
+=cut
+
+#---------------------------------------------------------------------------
+
+use strict;
+use warnings;
+
+use CookBook::Common;
+use base qw/DBIx::Class/;
+
+__PACKAGE__->load_components(
+    qw/
+        PK::Auto
+        Core
+        /
+);
+
+__PACKAGE__->table('recipes');
+
+__PACKAGE__->add_columns(
+    "recipe_id" => {
+        'data_type'         => "INT",
+        'default_value'     => undef,
+        'is_nullable'       => 0,
+        'size'              => 10,
+        'is_auto_increment' => 1,
+        'extras'            => { 'unsigned' => 1 },
+    },
+    "rid"                 => { 'data_type' => "CHAR",     'default_value' => "",    'is_nullable' => 0, 'size' => 32, },
+    "title"               => { 'data_type' => "VARCHAR",  'default_value' => "",    'is_nullable' => 0, 'size' => 250, },
+    "published"           => { 'data_type' => "ENUM",     'default_value' => "n",   'is_nullable' => 0, 'size' => 1, },
+    "deleted"             => { 'data_type' => "ENUM",     'default_value' => "n",   'is_nullable' => 0, 'size' => 1, },
+    "locked"              => { 'data_type' => "ENUM",     'default_value' => "n",   'is_nullable' => 0, 'size' => 1, },
+    "preface"             => { 'data_type' => "TEXT",     'default_value' => "",    'is_nullable' => 1, 'size' => 65535, },
+    "instructions"        => { 'data_type' => "TEXT",     'default_value' => "",    'is_nullable' => 0, 'size' => 65535, },
+    "yield_amount"        => { 'data_type' => "FLOAT",    'default_value' => 0,     'is_nullable' => 0, 'size' => 10, 'extras' => { 'unsigned' => 1 }, },
+    "yield_amount_offset" => { 'data_type' => "FLOAT",    'default_value' => undef, 'is_nullable' => 1, 'size' => 10, 'extras' => { 'unsigned' => 1 }, },
+    "yield_type_id"       => { 'data_type' => "INT",      'default_value' => undef, 'is_nullable' => 1, 'size' => 10, 'extras' => { 'unsigned' => 1 }, },
+    "prep_time"           => { 'data_type' => "TIME",     'default_value' => undef, 'is_nullable' => 1, 'size' => 8, },
+    "date_created"        => { 'data_type' => "DATETIME", 'default_value' => "",    'is_nullable' => 0, 'size' => 19, },
+    "user_created"        => { 'data_type' => "INT",      'default_value' => 0,     'is_nullable' => 0, 'size' => 10, 'extras' => { 'unsigned' => 1 }, },
+    "date_changed"        => { 'data_type' => "DATETIME", 'default_value' => "",    'is_nullable' => 0, 'size' => 19, },
+    "user_changed"        => { 'data_type' => "INT",      'default_value' => 0,     'is_nullable' => 0, 'size' => 10, 'extras' => { 'unsigned' => 1 }, },
+);
+
+__PACKAGE__->set_primary_key("recipe_id");
+__PACKAGE__->add_unique_constraint("rid", ["rid"]);
+
+__PACKAGE__->might_have( 'create_user' => 'CookBook::Db::Users', { 'foreign.user_id' => 'self.user_created' } );
+__PACKAGE__->might_have( 'change_user' => 'CookBook::Db::Users', { 'foreign.user_id' => 'self.user_changed' } );
+
+#----------------------------------------------------------------------------------------
+
+1;
+
+#----------------------------------------------------------------------------------------
+
+__END__
+
diff --git a/lib/CookBook/Db/Session.pm b/lib/CookBook/Db/Session.pm
new file mode 100644 (file)
index 0000000..09e8007
--- /dev/null
@@ -0,0 +1,35 @@
+package CookBook::Db::Session;
+
+# $Id$
+# $URL$
+
+=head1 NAME
+
+CookBook::Db::Session
+
+=head1 DESCRIPTION
+
+Module for abstract database access to the table 'session'
+
+=cut
+
+#---------------------------------------------------------------------------
+
+use strict;
+use warnings;
+
+use CookBook::Common;
+use base qw/DBIx::Class/;
+
+__PACKAGE__->load_components(qw/
+  Core
+/);
+
+__PACKAGE__->table('session');
+
+__PACKAGE__->add_columns(qw/id session_data expires/);
+__PACKAGE__->set_primary_key('id');
+
+
+1;
+
diff --git a/lib/CookBook/Db/SessionLog.pm b/lib/CookBook/Db/SessionLog.pm
new file mode 100644 (file)
index 0000000..427b1e2
--- /dev/null
@@ -0,0 +1,64 @@
+package CookBook::Db::SessionLog;
+
+# $Id$
+# $URL$
+
+=head1 NAME
+
+CookBook::Db::SessionLog
+
+=head1 DESCRIPTION
+
+Module for abstract database access to the table 'session_log'
+
+=cut
+
+#---------------------------------------------------------------------------
+
+use strict;
+use warnings;
+
+use CookBook::Common;
+use base qw/DBIx::Class/;
+
+__PACKAGE__->load_components(
+    qw/
+        PK::Auto
+        Core
+        /
+);
+
+__PACKAGE__->table('session_log');
+
+__PACKAGE__->add_columns(
+    "session_log_id" => {
+        'data_type'         => "INT",
+        'default_value'     => undef,
+        'is_nullable'       => 0,
+        'size'              => 10,
+        'is_auto_increment' => 1,
+        'extras'            => { 'unsigned' => 1 },
+    },
+    "user_id" => { 'data_type' => "INT", 'default_value' => undef, 'is_nullable' => 0, 'size' => 10, 'extras' => { 'unsigned' => 1 }, },
+    "login_time"    => { 'data_type' => "DATETIME", 'default_value' => "",    'is_nullable' => 0, 'size' => 19, },
+    "logout_time"   => { 'data_type' => "DATETIME", 'default_value' => undef, 'is_nullable' => 1, 'size' => 19, },
+    "logout_reason" => { 'data_type' => "ENUM",     'default_value' => undef, 'is_nullable' => 1, 'size' => 1, },
+    "session_id"    => { 'data_type' => "CHAR",     'default_value' => undef, 'is_nullable' => 1, 'size' => 72, },
+    "login"         => { 'data_type' => "VARCHAR",  'default_value' => "",    'is_nullable' => 0, 'size' => 50, },
+    "user_name"     => { 'data_type' => "VARCHAR",  'default_value' => "",    'is_nullable' => 0, 'size' => 110, },
+    "client_ip"     => { 'data_type' => "VARCHAR",  'default_value' => "",    'is_nullable' => 0, 'size' => 20, },
+    "client_host"   => { 'data_type' => "VARCHAR",  'default_value' => undef, 'is_nullable' => 1, 'size' => 200, },
+    "user_agent"    => { 'data_type' => "VARCHAR",  'default_value' => undef, 'is_nullable' => 1, 'size' => 250, },
+    "server"        => { 'data_type' => "VARCHAR",  'default_value' => undef, 'is_nullable' => 1, 'size' => 100, },
+);
+
+__PACKAGE__->set_primary_key("session_log_id");
+
+#---------------------------------------------------------------------------
+
+1;
+
+#---------------------------------------------------------------------------
+
+__END__
+
diff --git a/lib/CookBook/Db/Users.pm b/lib/CookBook/Db/Users.pm
new file mode 100644 (file)
index 0000000..92a686b
--- /dev/null
@@ -0,0 +1,70 @@
+package CookBook::Db::Users;
+
+# $Id$
+# $URL$
+
+=head1 NAME
+
+CookBook::Db::Users
+
+=head1 DESCRIPTION
+
+Module for abstract database access to the table 'users'
+
+=cut
+
+#---------------------------------------------------------------------------
+
+use strict;
+use warnings;
+
+use CookBook::Common;
+use base qw/DBIx::Class/;
+
+__PACKAGE__->load_components(
+    qw/
+        PK::Auto
+        Core
+        /
+);
+
+__PACKAGE__->table('users');
+
+__PACKAGE__->add_columns(
+    "user_id" => {
+        'data_type'         => "INT",
+        'default_value'     => undef,
+        'is_nullable'       => 0,
+        'size'              => 10,
+        'is_auto_increment' => 1,
+        'extras'            => { 'unsigned' => 1 },
+    },
+    "login"        => { 'data_type' => "VARCHAR",  'default_value' => "",  'is_nullable' => 0, 'size' => 50 },
+    "vorname"      => { 'data_type' => "VARCHAR",  'default_value' => "",  'is_nullable' => 0, 'size' => 100 },
+    "nachname"     => { 'data_type' => "VARCHAR",  'default_value' => "",  'is_nullable' => 0, 'size' => 100 },
+    "password"     => { 'data_type' => "VARCHAR",  'default_value' => "",  'is_nullable' => 0, 'size' => 250 },
+    "date_created" => { 'data_type' => "DATETIME", 'default_value' => "",  'is_nullable' => 0, 'size' => 19 },
+    "date_changed" => { 'data_type' => "DATETIME", 'default_value' => "",  'is_nullable' => 0, 'size' => 19 },
+    "email"        => { 'data_type' => "VARCHAR",  'default_value' => "",  'is_nullable' => 0, 'size' => 250 },
+    "deleted"      => { 'data_type' => "ENUM",     'default_value' => "n", 'is_nullable' => 0, 'size' => 1 },
+    "enabled"      => { 'data_type' => "ENUM",     'default_value' => "y", 'is_nullable' => 0, 'size' => 1 },
+    "admin_status" => { 'data_type' => "ENUM",     'default_value' => "n", 'is_nullable' => 0, 'size' => 1 },
+    "comment"      => { 'data_type' => "TEXT",     'default_value' => "",  'is_nullable' => 0, 'size' => 65535 },
+);
+
+__PACKAGE__->set_primary_key("user_id");
+__PACKAGE__->add_unique_constraint( "login", ["login"] );
+
+#__PACKAGE__->has_many( 'map_user_role'       => 'CookBook::BsDb::UserRole',       { 'self.user_id' => 'foreign.user_id' } );
+#__PACKAGE__->has_many( 'map_user_department' => 'CookBook::BsDb::UserDepartment', { 'self.user_id' => 'foreign.user_id' } );
+
+# __PACKAGE__->belongs_to( department_id => 'CookBook::BsDb::Departments', 'department_id', { 'join_type' => 'left' } );
+
+#----------------------------------------------------------------------------------------
+
+1;
+
+#----------------------------------------------------------------------------------------
+
+__END__
+
diff --git a/lib/CookBook/Db/YieldTypes.pm b/lib/CookBook/Db/YieldTypes.pm
new file mode 100644 (file)
index 0000000..8ffd4d4
--- /dev/null
@@ -0,0 +1,55 @@
+package CookBook::Db::YieldTypes;
+
+# $Id$
+# $URL$
+
+=head1 NAME
+
+CookBook::Db::YieldTypes
+
+=head1 DESCRIPTION
+
+Module for abstract database access to the table 'yield_types'
+
+=cut
+
+#---------------------------------------------------------------------------
+
+use strict;
+use warnings;
+
+use CookBook::Common;
+use base qw/DBIx::Class/;
+
+__PACKAGE__->load_components(
+    qw/
+        PK::Auto
+        Core
+        /
+);
+
+__PACKAGE__->table('yield_types');
+
+__PACKAGE__->add_columns(
+    "yield_type_id" => {
+        'data_type'         => "INT",
+        'default_value'     => undef,
+        'is_nullable'       => 0,
+        'size'              => 10,
+        'is_auto_increment' => 1,
+        'extras'            => { 'unsigned' => 1 },
+    },
+    "yield_type_name" => { 'data_type' => "VARCHAR",  'default_value' => "", 'is_nullable' => 0, 'size' => 30 },
+    "date_created"    => { 'data_type' => "DATETIME", 'default_value' => "", 'is_nullable' => 0, 'size' => 19 },
+);
+
+__PACKAGE__->set_primary_key("yield_type_id");
+
+#----------------------------------------------------------------------------------------
+
+1;
+
+#----------------------------------------------------------------------------------------
+
+__END__
+
diff --git a/lib/CookBook/Model/CookBookDb.pm b/lib/CookBook/Model/CookBookDb.pm
new file mode 100644 (file)
index 0000000..d14e873
--- /dev/null
@@ -0,0 +1,54 @@
+package CookBook::Model::CookBookDb;
+
+# $Id$
+# $URL$
+
+use strict;
+use base 'Catalyst::Model::DBIC::Schema';
+
+#----------------------------------------------------------------------------------------
+
+__PACKAGE__->config(
+    'schema_class' => 'CookBook::Db',
+    'connect_info' => [
+        $ENV{'COOKBOOK_DSN'}  || 'dbi:mysql:database=cookbook;host=localhost',
+        $ENV{'COOKBOOK_USER'} || 'cookbook',
+        $ENV{'COOKBOOK_PWD'}  || '',
+        {   'AutoCommit' => 1,
+            'PrintError' => 0,
+            'RaiseError' => 0,
+        }
+    ],
+);
+
+#----------------------------------------------------------------------------------------
+
+=head1 NAME
+
+CookBook::Model::CookBookDb - Catalyst DBIC Schema Model
+=head1 SYNOPSIS
+
+See L<CookBook>
+
+=head1 DESCRIPTION
+
+L<Catalyst::Model::DBIC::Schema> Model using schema L<CookBook::Db>
+
+=head1 AUTHOR
+
+Frank Brehm
+
+=head1 LICENSE
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+#----------------------------------------------------------------------------------------
+
+1;
+
+#----------------------------------------------------------------------------------------
+
+__END__
diff --git a/lib/CookBookDb.pm b/lib/CookBookDb.pm
new file mode 100644 (file)
index 0000000..1953e2c
--- /dev/null
@@ -0,0 +1,16 @@
+package CookBookDb;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class::Schema';
+
+__PACKAGE__->load_classes;
+
+
+# Created by DBIx::Class::Schema::Loader v0.04002 @ 2007-08-09 16:13:40
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:K8bZ7fKZDMRmA4VFZOZxlw
+
+
+# You can replace this text with custom content, and it will be preserved on regeneration
+1;
diff --git a/lib/CookBookDb/Authors.pm b/lib/CookBookDb/Authors.pm
new file mode 100644 (file)
index 0000000..3896941
--- /dev/null
@@ -0,0 +1,31 @@
+package CookBookDb::Authors;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class';
+
+__PACKAGE__->load_components("Core");
+__PACKAGE__->table("authors");
+__PACKAGE__->add_columns(
+  "author_id",
+  { data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
+  "user_id",
+  { data_type => "INT", default_value => undef, is_nullable => 1, size => 10 },
+  "old_author_id",
+  { data_type => "INT", default_value => undef, is_nullable => 1, size => 11 },
+  "author_name",
+  { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 100 },
+  "date_created",
+  { data_type => "DATETIME", default_value => "", is_nullable => 0, size => 19 },
+);
+__PACKAGE__->set_primary_key("author_id");
+__PACKAGE__->add_unique_constraint("author_name", ["author_name"]);
+
+
+# Created by DBIx::Class::Schema::Loader v0.04002 @ 2007-08-09 16:13:40
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/TukBw4LW+WnFPWauqg4pQ
+
+
+# You can replace this text with custom content, and it will be preserved on regeneration
+1;
diff --git a/lib/CookBookDb/RecipeAuthors.pm b/lib/CookBookDb/RecipeAuthors.pm
new file mode 100644 (file)
index 0000000..5c0a733
--- /dev/null
@@ -0,0 +1,30 @@
+package CookBookDb::RecipeAuthors;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class';
+
+__PACKAGE__->load_components("Core");
+__PACKAGE__->table("recipe_authors");
+__PACKAGE__->add_columns(
+  "recipe_author_id",
+  { data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
+  "recipe_id",
+  { data_type => "INT", default_value => "", is_nullable => 0, size => 10 },
+  "author_id",
+  { data_type => "INT", default_value => "", is_nullable => 0, size => 10 },
+  "order_index",
+  { data_type => "INT", default_value => "", is_nullable => 0, size => 10 },
+  "date_created",
+  { data_type => "DATETIME", default_value => "", is_nullable => 0, size => 19 },
+);
+__PACKAGE__->set_primary_key("recipe_author_id");
+
+
+# Created by DBIx::Class::Schema::Loader v0.04002 @ 2007-08-09 16:13:40
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KFDI7zAqfecL+bbLpF1nNw
+
+
+# You can replace this text with custom content, and it will be preserved on regeneration
+1;
diff --git a/lib/CookBookDb/Recipes.pm b/lib/CookBookDb/Recipes.pm
new file mode 100644 (file)
index 0000000..b713b4c
--- /dev/null
@@ -0,0 +1,60 @@
+package CookBookDb::Recipes;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class';
+
+__PACKAGE__->load_components("Core");
+__PACKAGE__->table("recipes");
+__PACKAGE__->add_columns(
+  "recipe_id",
+  { data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
+  "old_recipe_id",
+  { data_type => "INT", default_value => undef, is_nullable => 1, size => 11 },
+  "rid",
+  { data_type => "CHAR", default_value => "", is_nullable => 0, size => 32 },
+  "title",
+  { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 250 },
+  "published",
+  { data_type => "ENUM", default_value => "n", is_nullable => 0, size => 1 },
+  "deleted",
+  { data_type => "ENUM", default_value => "", is_nullable => 0, size => 1 },
+  "locked",
+  { data_type => "ENUM", default_value => "n", is_nullable => 0, size => 1 },
+  "preface",
+  {
+    data_type => "TEXT",
+    default_value => undef,
+    is_nullable => 1,
+    size => 65535,
+  },
+  "instructions",
+  { data_type => "TEXT", default_value => "", is_nullable => 0, size => 65535 },
+  "yield_amount",
+  { data_type => "FLOAT", default_value => 0, is_nullable => 0, size => 32 },
+  "yield_amount_offset",
+  { data_type => "FLOAT", default_value => undef, is_nullable => 1, size => 32 },
+  "yield_type_id",
+  { data_type => "INT", default_value => undef, is_nullable => 1, size => 10 },
+  "prep_time",
+  { data_type => "TIME", default_value => undef, is_nullable => 1, size => 8 },
+  "date_created",
+  { data_type => "DATETIME", default_value => "", is_nullable => 0, size => 19 },
+  "user_created",
+  { data_type => "INT", default_value => "", is_nullable => 0, size => 10 },
+  "date_changed",
+  { data_type => "DATETIME", default_value => "", is_nullable => 0, size => 19 },
+  "user_changed",
+  { data_type => "INT", default_value => "", is_nullable => 0, size => 10 },
+);
+__PACKAGE__->set_primary_key("recipe_id");
+__PACKAGE__->add_unique_constraint("rid", ["rid"]);
+
+
+# Created by DBIx::Class::Schema::Loader v0.04002 @ 2007-08-09 16:13:40
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:pKlDxFw7PBwJQ+h8Z8FxLQ
+
+
+# You can replace this text with custom content, and it will be preserved on regeneration
+1;
diff --git a/lib/CookBookDb/Session.pm b/lib/CookBookDb/Session.pm
new file mode 100644 (file)
index 0000000..60daf20
--- /dev/null
@@ -0,0 +1,26 @@
+package CookBookDb::Session;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class';
+
+__PACKAGE__->load_components("Core");
+__PACKAGE__->table("session");
+__PACKAGE__->add_columns(
+  "id",
+  { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 72 },
+  "session_data",
+  { data_type => "TEXT", default_value => "", is_nullable => 0, size => 65535 },
+  "expires",
+  { data_type => "INT", default_value => "", is_nullable => 0, size => 10 },
+);
+__PACKAGE__->set_primary_key("id");
+
+
+# Created by DBIx::Class::Schema::Loader v0.04002 @ 2007-08-09 16:13:40
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:SEGt7AaZSpdxN24W2qkkFg
+
+
+# You can replace this text with custom content, and it will be preserved on regeneration
+1;
diff --git a/lib/CookBookDb/SessionLog.pm b/lib/CookBookDb/SessionLog.pm
new file mode 100644 (file)
index 0000000..e3909e5
--- /dev/null
@@ -0,0 +1,74 @@
+package CookBookDb::SessionLog;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class';
+
+__PACKAGE__->load_components("Core");
+__PACKAGE__->table("session_log");
+__PACKAGE__->add_columns(
+  "session_log_id",
+  { data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
+  "user_id",
+  { data_type => "INT", default_value => "", is_nullable => 0, size => 10 },
+  "login_time",
+  { data_type => "DATETIME", default_value => "", is_nullable => 0, size => 19 },
+  "logout_time",
+  {
+    data_type => "DATETIME",
+    default_value => undef,
+    is_nullable => 1,
+    size => 19,
+  },
+  "logout_reason",
+  { data_type => "ENUM", default_value => undef, is_nullable => 1, size => 9 },
+  "session_id",
+  {
+    data_type => "VARCHAR",
+    default_value => undef,
+    is_nullable => 1,
+    size => 72,
+  },
+  "login",
+  { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 50 },
+  "user_name",
+  { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 110 },
+  "client_ip",
+  {
+    data_type => "VARCHAR",
+    default_value => undef,
+    is_nullable => 1,
+    size => 20,
+  },
+  "client_host",
+  {
+    data_type => "VARCHAR",
+    default_value => undef,
+    is_nullable => 1,
+    size => 200,
+  },
+  "user_agent",
+  {
+    data_type => "VARCHAR",
+    default_value => undef,
+    is_nullable => 1,
+    size => 250,
+  },
+  "server",
+  {
+    data_type => "VARCHAR",
+    default_value => undef,
+    is_nullable => 1,
+    size => 100,
+  },
+);
+__PACKAGE__->set_primary_key("session_log_id");
+
+
+# Created by DBIx::Class::Schema::Loader v0.04002 @ 2007-08-09 16:13:40
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:RmQzAMVSZmvYuFzIczRQ2Q
+
+
+# You can replace this text with custom content, and it will be preserved on regeneration
+1;
diff --git a/lib/CookBookDb/Users.pm b/lib/CookBookDb/Users.pm
new file mode 100644 (file)
index 0000000..8e729c8
--- /dev/null
@@ -0,0 +1,45 @@
+package CookBookDb::Users;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class';
+
+__PACKAGE__->load_components("Core");
+__PACKAGE__->table("users");
+__PACKAGE__->add_columns(
+  "user_id",
+  { data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
+  "login",
+  { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 50 },
+  "vorname",
+  { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 100 },
+  "nachname",
+  { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 100 },
+  "password",
+  { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 250 },
+  "date_created",
+  { data_type => "DATETIME", default_value => "", is_nullable => 0, size => 19 },
+  "date_changed",
+  { data_type => "DATETIME", default_value => "", is_nullable => 0, size => 19 },
+  "email",
+  { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 250 },
+  "deleted",
+  { data_type => "ENUM", default_value => "n", is_nullable => 0, size => 1 },
+  "enabled",
+  { data_type => "ENUM", default_value => "y", is_nullable => 0, size => 1 },
+  "admin_status",
+  { data_type => "ENUM", default_value => "n", is_nullable => 0, size => 1 },
+  "comments",
+  { data_type => "TEXT", default_value => "", is_nullable => 0, size => 65535 },
+);
+__PACKAGE__->set_primary_key("user_id");
+__PACKAGE__->add_unique_constraint("login", ["login"]);
+
+
+# Created by DBIx::Class::Schema::Loader v0.04002 @ 2007-08-09 16:13:40
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:4RbgZUha9qaD/QHFdiXuGw
+
+
+# You can replace this text with custom content, and it will be preserved on regeneration
+1;
diff --git a/lib/CookBookDb/YieldTypes.pm b/lib/CookBookDb/YieldTypes.pm
new file mode 100644 (file)
index 0000000..e2538ad
--- /dev/null
@@ -0,0 +1,27 @@
+package CookBookDb::YieldTypes;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class';
+
+__PACKAGE__->load_components("Core");
+__PACKAGE__->table("yield_types");
+__PACKAGE__->add_columns(
+  "yield_type_id",
+  { data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
+  "yield_type_name",
+  { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 30 },
+  "date_created",
+  { data_type => "DATETIME", default_value => "", is_nullable => 0, size => 19 },
+);
+__PACKAGE__->set_primary_key("yield_type_id");
+__PACKAGE__->add_unique_constraint("yield_type_name", ["yield_type_name"]);
+
+
+# Created by DBIx::Class::Schema::Loader v0.04002 @ 2007-08-09 16:13:40
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:WuKiqaAPGCPQ5kC0gs+yqQ
+
+
+# You can replace this text with custom content, and it will be preserved on regeneration
+1;
diff --git a/t/model_CookBookDb.t b/t/model_CookBookDb.t
new file mode 100644 (file)
index 0000000..decf453
--- /dev/null
@@ -0,0 +1,6 @@
+use strict;
+use warnings;
+use Test::More tests => 1;
+
+BEGIN { use_ok 'CookBook::Model::CookBookDb' }
+