adding DBIx schema files
authorCharles McGarvey <chazmcgarvey@brokenzipper.com>
Thu, 13 Oct 2011 04:39:17 +0000 (22:39 -0600)
committerCharles McGarvey <chazmcgarvey@brokenzipper.com>
Thu, 13 Oct 2011 04:39:17 +0000 (22:39 -0600)
lib/Chatty/Model/DB.pm [new file with mode: 0644]
lib/Chatty/Schema.pm [new file with mode: 0644]
lib/Chatty/Schema/Result/Account.pm [new file with mode: 0644]
lib/Chatty/Schema/Result/Message.pm [new file with mode: 0644]
t/model_DB.t [new file with mode: 0644]

diff --git a/lib/Chatty/Model/DB.pm b/lib/Chatty/Model/DB.pm
new file mode 100644 (file)
index 0000000..91b1c19
--- /dev/null
@@ -0,0 +1,44 @@
+package Chatty::Model::DB;
+
+use strict;
+use base 'Catalyst::Model::DBIC::Schema';
+
+__PACKAGE__->config(
+    schema_class => 'Chatty::Schema',
+    
+    connect_info => {
+        dsn => 'dbi:SQLite:db/info.db',
+        user => '',
+        password => '',
+        on_connect_do => q{PRAGMA foreign_keys = ON},
+    }
+);
+
+=head1 NAME
+
+Chatty::Model::DB - Catalyst DBIC Schema Model
+
+=head1 SYNOPSIS
+
+See L<Chatty>
+
+=head1 DESCRIPTION
+
+L<Catalyst::Model::DBIC::Schema> Model using schema L<Chatty::Schema>
+
+=head1 GENERATED BY
+
+Catalyst::Helper::Model::DBIC::Schema - 0.55
+
+=head1 AUTHOR
+
+Charles McGarvey
+
+=head1 LICENSE
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;
diff --git a/lib/Chatty/Schema.pm b/lib/Chatty/Schema.pm
new file mode 100644 (file)
index 0000000..3d5ca2d
--- /dev/null
@@ -0,0 +1,19 @@
+package Chatty::Schema;
+
+# Created by DBIx::Class::Schema::Loader
+# DO NOT MODIFY THE FIRST PART OF THIS FILE
+
+use Moose;
+use namespace::autoclean;
+extends 'DBIx::Class::Schema';
+
+__PACKAGE__->load_namespaces;
+
+
+# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-10-12 22:19:43
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cnsy0B+9E32Gp6UQcsNpuA
+
+
+# You can replace this text with custom code or comments, and it will be preserved on regeneration
+__PACKAGE__->meta->make_immutable(inline_constructor => 0);
+1;
diff --git a/lib/Chatty/Schema/Result/Account.pm b/lib/Chatty/Schema/Result/Account.pm
new file mode 100644 (file)
index 0000000..1589333
--- /dev/null
@@ -0,0 +1,86 @@
+package Chatty::Schema::Result::Account;
+
+# Created by DBIx::Class::Schema::Loader
+# DO NOT MODIFY THE FIRST PART OF THIS FILE
+
+use strict;
+use warnings;
+
+use Moose;
+use MooseX::NonMoose;
+use namespace::autoclean;
+extends 'DBIx::Class::Core';
+
+__PACKAGE__->load_components("InflateColumn::DateTime");
+
+=head1 NAME
+
+Chatty::Schema::Result::Account
+
+=cut
+
+__PACKAGE__->table("account");
+
+=head1 ACCESSORS
+
+=head2 id
+
+  data_type: 'integer'
+  is_auto_increment: 1
+  is_nullable: 0
+
+=head2 username
+
+  data_type: 'text'
+  is_nullable: 1
+
+=head2 password
+
+  data_type: 'text'
+  is_nullable: 1
+
+=head2 status
+
+  data_type: 'text'
+  default_value: 'active'
+  is_nullable: 1
+
+=cut
+
+__PACKAGE__->add_columns(
+  "id",
+  { data_type => "integer", is_auto_increment => 1, is_nullable => 0 },
+  "username",
+  { data_type => "text", is_nullable => 1 },
+  "password",
+  { data_type => "text", is_nullable => 1 },
+  "status",
+  { data_type => "text", default_value => "active", is_nullable => 1 },
+);
+__PACKAGE__->set_primary_key("id");
+
+=head1 RELATIONS
+
+=head2 messages
+
+Type: has_many
+
+Related object: L<Chatty::Schema::Result::Message>
+
+=cut
+
+__PACKAGE__->has_many(
+  "messages",
+  "Chatty::Schema::Result::Message",
+  { "foreign.author" => "self.id" },
+  { cascade_copy => 0, cascade_delete => 0 },
+);
+
+
+# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-10-12 22:20:29
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:D8HUHJmSfJwylSeDYjfeHA
+
+
+# You can replace this text with custom code or comments, and it will be preserved on regeneration
+__PACKAGE__->meta->make_immutable;
+1;
diff --git a/lib/Chatty/Schema/Result/Message.pm b/lib/Chatty/Schema/Result/Message.pm
new file mode 100644 (file)
index 0000000..56ea868
--- /dev/null
@@ -0,0 +1,91 @@
+package Chatty::Schema::Result::Message;
+
+# Created by DBIx::Class::Schema::Loader
+# DO NOT MODIFY THE FIRST PART OF THIS FILE
+
+use strict;
+use warnings;
+
+use Moose;
+use MooseX::NonMoose;
+use namespace::autoclean;
+extends 'DBIx::Class::Core';
+
+__PACKAGE__->load_components("InflateColumn::DateTime");
+
+=head1 NAME
+
+Chatty::Schema::Result::Message
+
+=cut
+
+__PACKAGE__->table("message");
+
+=head1 ACCESSORS
+
+=head2 id
+
+  data_type: 'integer'
+  is_auto_increment: 1
+  is_nullable: 0
+
+=head2 posted
+
+  data_type: 'timestamp'
+  is_nullable: 1
+
+=head2 author
+
+  data_type: 'integer'
+  is_foreign_key: 1
+  is_nullable: 1
+
+=head2 content
+
+  data_type: 'text'
+  is_nullable: 1
+
+=cut
+
+__PACKAGE__->add_columns(
+  "id",
+  { data_type => "integer", is_auto_increment => 1, is_nullable => 0 },
+  "posted",
+  { data_type => "timestamp", is_nullable => 1 },
+  "author",
+  { data_type => "integer", is_foreign_key => 1, is_nullable => 1 },
+  "content",
+  { data_type => "text", is_nullable => 1 },
+);
+__PACKAGE__->set_primary_key("id");
+
+=head1 RELATIONS
+
+=head2 author
+
+Type: belongs_to
+
+Related object: L<Chatty::Schema::Result::Account>
+
+=cut
+
+__PACKAGE__->belongs_to(
+  "author",
+  "Chatty::Schema::Result::Account",
+  { id => "author" },
+  {
+    is_deferrable => 1,
+    join_type     => "LEFT",
+    on_delete     => "CASCADE",
+    on_update     => "CASCADE",
+  },
+);
+
+
+# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-10-12 22:20:29
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dORhf3WubIeixtSujgUgrg
+
+
+# You can replace this text with custom code or comments, and it will be preserved on regeneration
+__PACKAGE__->meta->make_immutable;
+1;
diff --git a/t/model_DB.t b/t/model_DB.t
new file mode 100644 (file)
index 0000000..f77912b
--- /dev/null
@@ -0,0 +1,8 @@
+use strict;
+use warnings;
+use Test::More;
+
+
+BEGIN { use_ok 'Chatty::Model::DB' }
+
+done_testing();
This page took 0.031702 seconds and 4 git commands to generate.