From f0472f676b7f8d217ca321aa1110a9f5248b7825 Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Tue, 22 Jan 2013 21:37:29 -0800 Subject: [PATCH] update db::result class and add correspondent and message correspondent --- Debbugs/DB/Result/Correspondent.pm | 117 ++++++++++++++++++ Debbugs/DB/Result/MessageCorrespondent.pm | 141 ++++++++++++++++++++++ 2 files changed, 258 insertions(+) create mode 100644 Debbugs/DB/Result/Correspondent.pm create mode 100644 Debbugs/DB/Result/MessageCorrespondent.pm diff --git a/Debbugs/DB/Result/Correspondent.pm b/Debbugs/DB/Result/Correspondent.pm new file mode 100644 index 00000000..857159eb --- /dev/null +++ b/Debbugs/DB/Result/Correspondent.pm @@ -0,0 +1,117 @@ +use utf8; +package Debbugs::DB::Result::Correspondent; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +Debbugs::DB::Result::Correspondent - Individual who has corresponded with the BTS + +=cut + +use strict; +use warnings; + +use base 'DBIx::Class::Core'; + +=head1 COMPONENTS LOADED + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->load_components("InflateColumn::DateTime"); + +=head1 TABLE: C + +=cut + +__PACKAGE__->table("correspondent"); + +=head1 ACCESSORS + +=head2 id + + data_type: 'integer' + is_auto_increment: 1 + is_nullable: 0 + sequence: 'correspondent_id_seq' + +Correspondent ID + +=head2 addr + + data_type: 'text' + is_nullable: 0 + +Correspondent address + +=cut + +__PACKAGE__->add_columns( + "id", + { + data_type => "integer", + is_auto_increment => 1, + is_nullable => 0, + sequence => "correspondent_id_seq", + }, + "addr", + { data_type => "text", is_nullable => 0 }, +); + +=head1 PRIMARY KEY + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->set_primary_key("id"); + +=head1 UNIQUE CONSTRAINTS + +=head2 C + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->add_unique_constraint("correspondent_addr_key", ["addr"]); + +=head1 RELATIONS + +=head2 message_correspondents + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "message_correspondents", + "Debbugs::DB::Result::MessageCorrespondent", + { "foreign.correspondent" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + + +# Created by DBIx::Class::Schema::Loader v0.07025 @ 2013-01-22 21:35:43 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:1oERdaKncROw6eUENGs9aw + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; diff --git a/Debbugs/DB/Result/MessageCorrespondent.pm b/Debbugs/DB/Result/MessageCorrespondent.pm new file mode 100644 index 00000000..033f448f --- /dev/null +++ b/Debbugs/DB/Result/MessageCorrespondent.pm @@ -0,0 +1,141 @@ +use utf8; +package Debbugs::DB::Result::MessageCorrespondent; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +Debbugs::DB::Result::MessageCorrespondent - Linkage between correspondent and message + +=cut + +use strict; +use warnings; + +use base 'DBIx::Class::Core'; + +=head1 COMPONENTS LOADED + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->load_components("InflateColumn::DateTime"); + +=head1 TABLE: C + +=cut + +__PACKAGE__->table("message_correspondent"); + +=head1 ACCESSORS + +=head2 message + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 0 + +Message id (matches message) + +=head2 correspondent + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 0 + +Correspondent (matches correspondent) + +=head2 correspondent_type + + data_type: 'enum' + default_value: 'to' + extra: {custom_type_name => "message_correspondent_type",list => ["to","from","envfrom","cc"]} + is_nullable: 0 + +Type of correspondent (to, from, envfrom, cc, etc.) + +=cut + +__PACKAGE__->add_columns( + "message", + { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, + "correspondent", + { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, + "correspondent_type", + { + data_type => "enum", + default_value => "to", + extra => { + custom_type_name => "message_correspondent_type", + list => ["to", "from", "envfrom", "cc"], + }, + is_nullable => 0, + }, +); + +=head1 UNIQUE CONSTRAINTS + +=head2 C + +=over 4 + +=item * L + +=item * L + +=item * L + +=back + +=cut + +__PACKAGE__->add_unique_constraint( + "message_correspondent_message_correspondent_correspondent_t_idx", + ["message", "correspondent", "correspondent_type"], +); + +=head1 RELATIONS + +=head2 correspondent + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "correspondent", + "Debbugs::DB::Result::Correspondent", + { id => "correspondent" }, + { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, +); + +=head2 message + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "message", + "Debbugs::DB::Result::Message", + { id => "message" }, + { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, +); + + +# Created by DBIx::Class::Schema::Loader v0.07025 @ 2013-01-22 21:35:43 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:wo2PGK4VpJ1hB8YBJ9QNUg + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; -- 2.39.5