From: Don Armstrong Date: Thu, 29 Nov 2012 23:38:57 +0000 (-0800) Subject: add bug message bits to sql X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;ds=sidebyside;h=9fb018e792b5412ca5555900c8a0cc47909c0552;p=debbugs.git add bug message bits to sql --- diff --git a/Debbugs/DB/Result/Bug.pm b/Debbugs/DB/Result/Bug.pm index 71ea251..d01892c 100644 --- a/Debbugs/DB/Result/Bug.pm +++ b/Debbugs/DB/Result/Bug.pm @@ -258,6 +258,21 @@ __PACKAGE__->has_many( { cascade_copy => 0, cascade_delete => 0 }, ); +=head2 bug_messages + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "bug_messages", + "Debbugs::DB::Result::BugMessage", + { "foreign.bug" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + =head2 bug_srcpackages Type: has_many @@ -319,8 +334,8 @@ __PACKAGE__->has_many( ); -# Created by DBIx::Class::Schema::Loader v0.07025 @ 2012-07-17 21:09:18 -# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:k+98VF0kOIp6OReqNNVXDg +# Created by DBIx::Class::Schema::Loader v0.07025 @ 2012-11-29 15:37:55 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:yAz+VGSyK89KOcvUzGnleA # You can replace this text with custom code or comments, and it will be preserved on regeneration diff --git a/Debbugs/DB/Result/BugMessage.pm b/Debbugs/DB/Result/BugMessage.pm new file mode 100644 index 0000000..ca6d761 --- /dev/null +++ b/Debbugs/DB/Result/BugMessage.pm @@ -0,0 +1,111 @@ +use utf8; +package Debbugs::DB::Result::BugMessage; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +Debbugs::DB::Result::BugMessage + +=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("bug_message"); + +=head1 ACCESSORS + +=head2 bug + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 0 + +=head2 message + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 0 + +=head2 message_number + + data_type: 'integer' + is_nullable: 0 + +=head2 bug_log_offset + + data_type: 'integer' + is_nullable: 1 + +=cut + +__PACKAGE__->add_columns( + "bug", + { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, + "message", + { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, + "message_number", + { data_type => "integer", is_nullable => 0 }, + "bug_log_offset", + { data_type => "integer", is_nullable => 1 }, +); + +=head1 RELATIONS + +=head2 bug + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "bug", + "Debbugs::DB::Result::Bug", + { id => "bug" }, + { 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 @ 2012-11-29 15:37:55 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7CxTYa/jUyoOVan9Sj9MZQ + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; diff --git a/Debbugs/DB/Result/Corespondent.pm b/Debbugs/DB/Result/Corespondent.pm new file mode 100644 index 0000000..306ec4f --- /dev/null +++ b/Debbugs/DB/Result/Corespondent.pm @@ -0,0 +1,113 @@ +use utf8; +package Debbugs::DB::Result::Corespondent; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +Debbugs::DB::Result::Corespondent + +=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("corespondent"); + +=head1 ACCESSORS + +=head2 id + + data_type: 'integer' + is_auto_increment: 1 + is_nullable: 0 + sequence: 'corespondent_id_seq' + +=head2 addr + + data_type: 'text' + is_nullable: 0 + +=cut + +__PACKAGE__->add_columns( + "id", + { + data_type => "integer", + is_auto_increment => 1, + is_nullable => 0, + sequence => "corespondent_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("corespondent_addr_key", ["addr"]); + +=head1 RELATIONS + +=head2 message_corespondents + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "message_corespondents", + "Debbugs::DB::Result::MessageCorespondent", + { "foreign.corespondent" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + + +# Created by DBIx::Class::Schema::Loader v0.07025 @ 2012-11-29 15:37:55 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:v3bUQ+IEbhl9Z9+g6uQVDw + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; diff --git a/Debbugs/DB/Result/Message.pm b/Debbugs/DB/Result/Message.pm new file mode 100644 index 0000000..491c759 --- /dev/null +++ b/Debbugs/DB/Result/Message.pm @@ -0,0 +1,210 @@ +use utf8; +package Debbugs::DB::Result::Message; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +Debbugs::DB::Result::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"); + +=head1 ACCESSORS + +=head2 id + + data_type: 'integer' + is_auto_increment: 1 + is_nullable: 0 + sequence: 'message_id_seq' + +=head2 msgid + + data_type: 'text' + is_nullable: 1 + +=head2 from_complete + + data_type: 'text' + is_nullable: 1 + +=head2 from_addr + + data_type: 'text' + is_nullable: 1 + +=head2 to_complete + + data_type: 'text' + is_nullable: 1 + +=head2 to_addr + + data_type: 'text' + is_nullable: 1 + +=head2 subject + + data_type: 'text' + default_value: (empty string) + is_nullable: 0 + +=head2 sent_date + + data_type: 'timestamp with time zone' + is_nullable: 1 + +=head2 refs + + data_type: 'text' + default_value: (empty string) + is_nullable: 0 + +=head2 spam_score + + data_type: 'double precision' + is_nullable: 1 + +=head2 is_spam + + data_type: 'boolean' + default_value: false + is_nullable: 1 + +=cut + +__PACKAGE__->add_columns( + "id", + { + data_type => "integer", + is_auto_increment => 1, + is_nullable => 0, + sequence => "message_id_seq", + }, + "msgid", + { data_type => "text", is_nullable => 1 }, + "from_complete", + { data_type => "text", is_nullable => 1 }, + "from_addr", + { data_type => "text", is_nullable => 1 }, + "to_complete", + { data_type => "text", is_nullable => 1 }, + "to_addr", + { data_type => "text", is_nullable => 1 }, + "subject", + { data_type => "text", default_value => "", is_nullable => 0 }, + "sent_date", + { data_type => "timestamp with time zone", is_nullable => 1 }, + "refs", + { data_type => "text", default_value => "", is_nullable => 0 }, + "spam_score", + { data_type => "double precision", is_nullable => 1 }, + "is_spam", + { data_type => "boolean", default_value => \"false", is_nullable => 1 }, +); + +=head1 PRIMARY KEY + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->set_primary_key("id"); + +=head1 RELATIONS + +=head2 bug_messages + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "bug_messages", + "Debbugs::DB::Result::BugMessage", + { "foreign.message" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + +=head2 message_corespondents + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "message_corespondents", + "Debbugs::DB::Result::MessageCorespondent", + { "foreign.message" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + +=head2 message_refs_messages + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "message_refs_messages", + "Debbugs::DB::Result::MessageRef", + { "foreign.message" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + +=head2 message_refs_refs + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "message_refs_refs", + "Debbugs::DB::Result::MessageRef", + { "foreign.refs" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + + +# Created by DBIx::Class::Schema::Loader v0.07025 @ 2012-11-29 15:37:55 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:VkveOmRidQ9gNRBCjKyPEQ + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; diff --git a/Debbugs/DB/Result/MessageCorespondent.pm b/Debbugs/DB/Result/MessageCorespondent.pm new file mode 100644 index 0000000..312b2d5 --- /dev/null +++ b/Debbugs/DB/Result/MessageCorespondent.pm @@ -0,0 +1,135 @@ +use utf8; +package Debbugs::DB::Result::MessageCorespondent; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +Debbugs::DB::Result::MessageCorespondent + +=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_corespondent"); + +=head1 ACCESSORS + +=head2 message + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 0 + +=head2 corespondent + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 0 + +=head2 corespondent_type + + data_type: 'enum' + default_value: 'to' + extra: {custom_type_name => "message_corespondent_type",list => ["to","from","envfrom","cc"]} + is_nullable: 0 + +=cut + +__PACKAGE__->add_columns( + "message", + { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, + "corespondent", + { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, + "corespondent_type", + { + data_type => "enum", + default_value => "to", + extra => { + custom_type_name => "message_corespondent_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_corespondent_message_corespondent_corespondent_type_idx", + ["message", "corespondent", "corespondent_type"], +); + +=head1 RELATIONS + +=head2 corespondent + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "corespondent", + "Debbugs::DB::Result::Corespondent", + { id => "corespondent" }, + { 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 @ 2012-11-29 15:37:55 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Qc6K0oFKcXSuaQhTBgRCaw + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; diff --git a/Debbugs/DB/Result/MessageRef.pm b/Debbugs/DB/Result/MessageRef.pm new file mode 100644 index 0000000..e57b1aa --- /dev/null +++ b/Debbugs/DB/Result/MessageRef.pm @@ -0,0 +1,97 @@ +use utf8; +package Debbugs::DB::Result::MessageRef; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +Debbugs::DB::Result::MessageRef + +=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_refs"); + +=head1 ACCESSORS + +=head2 message + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 0 + +=head2 refs + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 0 + +=cut + +__PACKAGE__->add_columns( + "message", + { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, + "refs", + { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, +); + +=head1 RELATIONS + +=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" }, +); + +=head2 ref + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "ref", + "Debbugs::DB::Result::Message", + { id => "refs" }, + { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, +); + + +# Created by DBIx::Class::Schema::Loader v0.07025 @ 2012-11-29 15:37:55 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:uCScDuC5TprnuyEjg25eXg + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1;