Rose-Setup Pflichtenhefte/Projekte an Umstellung setup()/initialize() angepasst
authorMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 1 Jul 2013 15:21:12 +0000 (17:21 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 1 Apr 2014 11:03:23 +0000 (13:03 +0200)
30 files changed:
SL/DB/MetaSetup/Default.pm
SL/DB/MetaSetup/Project.pm
SL/DB/MetaSetup/ProjectParticipant.pm
SL/DB/MetaSetup/ProjectPhase.pm [new file with mode: 0644]
SL/DB/MetaSetup/ProjectPhaseParticipant.pm
SL/DB/MetaSetup/ProjectRole.pm
SL/DB/MetaSetup/ProjectStatus.pm
SL/DB/MetaSetup/RequirementSpec.pm
SL/DB/MetaSetup/RequirementSpecAcceptanceStatus.pm
SL/DB/MetaSetup/RequirementSpecComplexity.pm
SL/DB/MetaSetup/RequirementSpecDependency.pm
SL/DB/MetaSetup/RequirementSpecItem.pm
SL/DB/MetaSetup/RequirementSpecPredefinedText.pm
SL/DB/MetaSetup/RequirementSpecRisk.pm
SL/DB/MetaSetup/RequirementSpecStatus.pm
SL/DB/MetaSetup/RequirementSpecTextBlock.pm
SL/DB/MetaSetup/RequirementSpecType.pm
SL/DB/MetaSetup/RequirementSpecVersion.pm
SL/DB/ProjectParticipant.pm
SL/DB/ProjectPhase.pm [new file with mode: 0644]
SL/DB/ProjectPhaseParticipant.pm
SL/DB/ProjectRole.pm
SL/DB/RequirementSpecAcceptanceStatus.pm
SL/DB/RequirementSpecComplexity.pm
SL/DB/RequirementSpecDependency.pm
SL/DB/RequirementSpecPredefinedText.pm
SL/DB/RequirementSpecRisk.pm
SL/DB/RequirementSpecStatus.pm
SL/DB/RequirementSpecType.pm
SL/DB/RequirementSpecVersion.pm

index c1deb9c..435fd27 100644 (file)
@@ -66,8 +66,8 @@ __PACKAGE__->meta->columns(
   profit_determination                          => { type => 'text' },
   purchase_delivery_order_show_delete           => { type => 'boolean', default => 'true' },
   purchase_order_show_delete                    => { type => 'boolean', default => 'true' },
-  requirement_spec_section_number_format        => { type => 'text', default => 'A00', not_null => 1 },
   requirement_spec_function_block_number_format => { type => 'text', default => 'FB000', not_null => 1 },
+  requirement_spec_section_number_format        => { type => 'text', default => 'A00', not_null => 1 },
   revtrans                                      => { type => 'boolean', default => 'false' },
   rfqnumber                                     => { type => 'text' },
   rmanumber                                     => { type => 'text' },
index 135d7c8..5b99265 100644 (file)
@@ -25,7 +25,6 @@ __PACKAGE__->meta->columns(
   projectnumber        => { type => 'text' },
   start_date           => { type => 'date' },
   timeframe            => { type => 'boolean', default => 'false', not_null => 1 },
-  type                 => { type => 'text' },
   valid                => { type => 'boolean', default => 'true' },
 );
 
@@ -36,16 +35,6 @@ __PACKAGE__->meta->unique_keys([ 'projectnumber' ]);
 __PACKAGE__->meta->allow_inline_column_values(1);
 
 __PACKAGE__->meta->foreign_keys(
-  customer => {
-    class       => 'SL::DB::Customer',
-    key_columns => { customer_id => 'id' },
-  },
-
-  project_type => {
-    class       => 'SL::DB::ProjectType',
-    key_columns => { project_type_id => 'id' },
-  },
-
   billable_customer => {
     class       => 'SL::DB::Customer',
     key_columns => { billable_customer_id => 'id' },
index b58a663..0f99ce6 100644 (file)
@@ -6,38 +6,36 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'project_participants',
-
-  columns => [
-    id              => { type => 'serial', not_null => 1 },
-    project_id      => { type => 'integer', not_null => 1 },
-    employee_id     => { type => 'integer', not_null => 1 },
-    project_role_id => { type => 'integer', not_null => 1 },
-    minutes         => { type => 'integer', default => '0', not_null => 1 },
-    cost_per_hour   => { type => 'numeric', precision => 5, scale => 15 },
-    itime           => { type => 'timestamp', default => '06.05.2013 14:26:18.81159' },
-    mtime           => { type => 'timestamp' },
-  ],
-
-  primary_key_columns => [ 'id' ],
-
-  foreign_keys => [
-    employee => {
-      class       => 'SL::DB::Employee',
-      key_columns => { employee_id => 'id' },
-    },
-
-    project => {
-      class       => 'SL::DB::Project',
-      key_columns => { project_id => 'id' },
-    },
-
-    project_role => {
-      class       => 'SL::DB::ProjectRole',
-      key_columns => { project_role_id => 'id' },
-    },
-  ],
+__PACKAGE__->meta->table('project_participants');
+
+__PACKAGE__->meta->columns(
+  cost_per_hour   => { type => 'numeric', precision => 5, scale => 15 },
+  employee_id     => { type => 'integer', not_null => 1 },
+  id              => { type => 'serial', not_null => 1 },
+  itime           => { type => 'timestamp', default => '2013-05-08 09:11:09.704126' },
+  minutes         => { type => 'integer', default => '0', not_null => 1 },
+  mtime           => { type => 'timestamp' },
+  project_id      => { type => 'integer', not_null => 1 },
+  project_role_id => { type => 'integer', not_null => 1 },
+);
+
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
+
+__PACKAGE__->meta->foreign_keys(
+  employee => {
+    class       => 'SL::DB::Employee',
+    key_columns => { employee_id => 'id' },
+  },
+
+  project => {
+    class       => 'SL::DB::Project',
+    key_columns => { project_id => 'id' },
+  },
+
+  project_role => {
+    class       => 'SL::DB::ProjectRole',
+    key_columns => { project_role_id => 'id' },
+  },
 );
 
 1;
diff --git a/SL/DB/MetaSetup/ProjectPhase.pm b/SL/DB/MetaSetup/ProjectPhase.pm
new file mode 100644 (file)
index 0000000..c39fcea
--- /dev/null
@@ -0,0 +1,44 @@
+# This file has been auto-generated. Do not modify it; it will be overwritten
+# by rose_auto_create_model.pl automatically.
+package SL::DB::ProjectPhase;
+
+use strict;
+
+use base qw(SL::DB::Object);
+
+__PACKAGE__->meta->table('project_phases');
+
+__PACKAGE__->meta->columns(
+  budget_cost           => { type => 'numeric', default => '0', not_null => 1, precision => 5, scale => 15 },
+  budget_minutes        => { type => 'integer', default => '0', not_null => 1 },
+  description           => { type => 'text', not_null => 1 },
+  end_date              => { type => 'date' },
+  general_cost_per_hour => { type => 'numeric', default => '0', not_null => 1, precision => 5, scale => 15 },
+  general_minutes       => { type => 'integer', default => '0', not_null => 1 },
+  id                    => { type => 'serial', not_null => 1 },
+  itime                 => { type => 'timestamp', default => '2013-05-08 09:11:09.704126' },
+  mtime                 => { type => 'timestamp' },
+  name                  => { type => 'text', not_null => 1 },
+  project_id            => { type => 'integer' },
+  start_date            => { type => 'date' },
+);
+
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
+
+__PACKAGE__->meta->foreign_keys(
+  project => {
+    class       => 'SL::DB::Project',
+    key_columns => { project_id => 'id' },
+  },
+);
+
+__PACKAGE__->meta->relationships(
+  project_phase_participants => {
+    class      => 'SL::DB::ProjectPhaseParticipant',
+    column_map => { id => 'project_phase_id' },
+    type       => 'one to many',
+  },
+);
+
+1;
+;
index be97495..169181f 100644 (file)
@@ -6,33 +6,31 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'project_phase_participants',
-
-  columns => [
-    id               => { type => 'serial', not_null => 1 },
-    project_phase_id => { type => 'integer', not_null => 1 },
-    employee_id      => { type => 'integer', not_null => 1 },
-    project_role_id  => { type => 'integer', not_null => 1 },
-    minutes          => { type => 'integer', default => '0', not_null => 1 },
-    cost_per_hour    => { type => 'numeric', precision => 5, scale => 15 },
-    itime            => { type => 'timestamp', default => '06.05.2013 14:26:18.81159' },
-    mtime            => { type => 'timestamp' },
-  ],
-
-  primary_key_columns => [ 'id' ],
-
-  foreign_keys => [
-    employee => {
-      class       => 'SL::DB::Employee',
-      key_columns => { employee_id => 'id' },
-    },
-
-    project_role => {
-      class       => 'SL::DB::ProjectRole',
-      key_columns => { project_role_id => 'id' },
-    },
-  ],
+__PACKAGE__->meta->table('project_phase_participants');
+
+__PACKAGE__->meta->columns(
+  cost_per_hour    => { type => 'numeric', precision => 5, scale => 15 },
+  employee_id      => { type => 'integer', not_null => 1 },
+  id               => { type => 'serial', not_null => 1 },
+  itime            => { type => 'timestamp', default => '2013-05-08 09:11:09.704126' },
+  minutes          => { type => 'integer', default => '0', not_null => 1 },
+  mtime            => { type => 'timestamp' },
+  project_phase_id => { type => 'integer', not_null => 1 },
+  project_role_id  => { type => 'integer', not_null => 1 },
+);
+
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
+
+__PACKAGE__->meta->foreign_keys(
+  employee => {
+    class       => 'SL::DB::Employee',
+    key_columns => { employee_id => 'id' },
+  },
+
+  project_role => {
+    class       => 'SL::DB::ProjectRole',
+    key_columns => { project_role_id => 'id' },
+  },
 );
 
 1;
index f9476a0..82385d3 100644 (file)
@@ -6,20 +6,18 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'project_roles',
+__PACKAGE__->meta->table('project_roles');
 
-  columns => [
-    id          => { type => 'serial', not_null => 1 },
-    name        => { type => 'text', not_null => 1 },
-    description => { type => 'text', not_null => 1 },
-    position    => { type => 'integer', not_null => 1 },
-    itime       => { type => 'timestamp', default => '06.05.2013 14:26:18.81159' },
-    mtime       => { type => 'timestamp' },
-  ],
-
-  primary_key_columns => [ 'id' ],
+__PACKAGE__->meta->columns(
+  description => { type => 'text', not_null => 1 },
+  id          => { type => 'serial', not_null => 1 },
+  itime       => { type => 'timestamp', default => '2013-05-08 09:11:09.704126' },
+  mtime       => { type => 'timestamp' },
+  name        => { type => 'text', not_null => 1 },
+  position    => { type => 'integer', not_null => 1 },
 );
 
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
+
 1;
 ;
index 262955c..be98f7b 100644 (file)
@@ -6,20 +6,18 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'project_status',
+__PACKAGE__->meta->table('project_status');
 
-  columns => [
-    id          => { type => 'serial', not_null => 1 },
-    name        => { type => 'text', not_null => 1 },
-    description => { type => 'text', not_null => 1 },
-    position    => { type => 'integer', not_null => 1 },
-    itime       => { type => 'timestamp', default => '06.05.2013 14:26:18.81159' },
-    mtime       => { type => 'timestamp' },
-  ],
-
-  primary_key_columns => [ 'id' ],
+__PACKAGE__->meta->columns(
+  description => { type => 'text', not_null => 1 },
+  id          => { type => 'serial', not_null => 1 },
+  itime       => { type => 'timestamp', default => '2013-05-08 09:11:09.704126' },
+  mtime       => { type => 'timestamp' },
+  name        => { type => 'text', not_null => 1 },
+  position    => { type => 'integer', not_null => 1 },
 );
 
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
+
 1;
 ;
index a6a2c4f..a08ee18 100644 (file)
@@ -6,62 +6,60 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'requirement_specs',
+__PACKAGE__->meta->table('requirement_specs');
 
-  columns => [
-    id                      => { type => 'serial', not_null => 1 },
-    type_id                 => { type => 'integer' },
-    status_id               => { type => 'integer' },
-    version_id              => { type => 'integer' },
-    customer_id             => { type => 'integer' },
-    project_id              => { type => 'integer' },
-    title                   => { type => 'text', not_null => 1 },
-    hourly_rate             => { type => 'numeric', default => '0', not_null => 1, precision => 2, scale => 8 },
-    net_sum                 => { type => 'numeric', default => '0', not_null => 1, precision => 2, scale => 12 },
-    working_copy_id         => { type => 'integer' },
-    previous_section_number => { type => 'integer', not_null => 1 },
-    previous_fb_number      => { type => 'integer', not_null => 1 },
-    is_template             => { type => 'boolean', default => 'false' },
-    itime                   => { type => 'timestamp', default => 'now()' },
-    mtime                   => { type => 'timestamp' },
-  ],
+__PACKAGE__->meta->columns(
+  customer_id             => { type => 'integer' },
+  hourly_rate             => { type => 'numeric', default => '0', not_null => 1, precision => 2, scale => 8 },
+  id                      => { type => 'serial', not_null => 1 },
+  is_template             => { type => 'boolean', default => 'false' },
+  itime                   => { type => 'timestamp', default => 'now()' },
+  mtime                   => { type => 'timestamp' },
+  net_sum                 => { type => 'numeric', default => '0', not_null => 1, precision => 2, scale => 12 },
+  previous_fb_number      => { type => 'integer', not_null => 1 },
+  previous_section_number => { type => 'integer', not_null => 1 },
+  project_id              => { type => 'integer' },
+  status_id               => { type => 'integer' },
+  title                   => { type => 'text', not_null => 1 },
+  type_id                 => { type => 'integer' },
+  version_id              => { type => 'integer' },
+  working_copy_id         => { type => 'integer' },
+);
 
-  primary_key_columns => [ 'id' ],
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-  allow_inline_column_values => 1,
+__PACKAGE__->meta->allow_inline_column_values(1);
 
-  foreign_keys => [
-    customer => {
-      class       => 'SL::DB::Customer',
-      key_columns => { customer_id => 'id' },
-    },
+__PACKAGE__->meta->foreign_keys(
+  customer => {
+    class       => 'SL::DB::Customer',
+    key_columns => { customer_id => 'id' },
+  },
 
-    project => {
-      class       => 'SL::DB::Project',
-      key_columns => { project_id => 'id' },
-    },
+  project => {
+    class       => 'SL::DB::Project',
+    key_columns => { project_id => 'id' },
+  },
 
-    status => {
-      class       => 'SL::DB::RequirementSpecStatus',
-      key_columns => { status_id => 'id' },
-    },
+  status => {
+    class       => 'SL::DB::RequirementSpecStatus',
+    key_columns => { status_id => 'id' },
+  },
 
-    type => {
-      class       => 'SL::DB::RequirementSpecType',
-      key_columns => { type_id => 'id' },
-    },
+  type => {
+    class       => 'SL::DB::RequirementSpecType',
+    key_columns => { type_id => 'id' },
+  },
 
-    version => {
-      class       => 'SL::DB::RequirementSpecVersion',
-      key_columns => { version_id => 'id' },
-    },
+  version => {
+    class       => 'SL::DB::RequirementSpecVersion',
+    key_columns => { version_id => 'id' },
+  },
 
-    working_copy => {
-      class       => 'SL::DB::RequirementSpec',
-      key_columns => { working_copy_id => 'id' },
-    },
-  ],
+  working_copy => {
+    class       => 'SL::DB::RequirementSpec',
+    key_columns => { working_copy_id => 'id' },
+  },
 );
 
 1;
index 96d2d0b..67ec1c6 100644 (file)
@@ -6,24 +6,22 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'requirement_spec_acceptance_statuses',
-
-  columns => [
-    id          => { type => 'serial', not_null => 1 },
-    name        => { type => 'text', not_null => 1 },
-    description => { type => 'text' },
-    position    => { type => 'integer', not_null => 1 },
-    itime       => { type => 'timestamp', default => 'now()' },
-    mtime       => { type => 'timestamp' },
-  ],
+__PACKAGE__->meta->table('requirement_spec_acceptance_statuses');
+
+__PACKAGE__->meta->columns(
+  description => { type => 'text' },
+  id          => { type => 'serial', not_null => 1 },
+  itime       => { type => 'timestamp', default => 'now()' },
+  mtime       => { type => 'timestamp' },
+  name        => { type => 'text', not_null => 1 },
+  position    => { type => 'integer', not_null => 1 },
+);
 
-  primary_key_columns => [ 'id' ],
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-  unique_key => [ 'name', 'description' ],
+__PACKAGE__->meta->unique_keys([ 'name', 'description' ]);
 
-  allow_inline_column_values => 1,
-);
+__PACKAGE__->meta->allow_inline_column_values(1);
 
 1;
 ;
index 60be040..a497732 100644 (file)
@@ -6,23 +6,21 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'requirement_spec_complexities',
-
-  columns => [
-    id          => { type => 'serial', not_null => 1 },
-    description => { type => 'text', not_null => 1 },
-    position    => { type => 'integer', not_null => 1 },
-    itime       => { type => 'timestamp', default => 'now()' },
-    mtime       => { type => 'timestamp' },
-  ],
+__PACKAGE__->meta->table('requirement_spec_complexities');
+
+__PACKAGE__->meta->columns(
+  description => { type => 'text', not_null => 1 },
+  id          => { type => 'serial', not_null => 1 },
+  itime       => { type => 'timestamp', default => 'now()' },
+  mtime       => { type => 'timestamp' },
+  position    => { type => 'integer', not_null => 1 },
+);
 
-  primary_key_columns => [ 'id' ],
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-  unique_key => [ 'description' ],
+__PACKAGE__->meta->unique_keys([ 'description' ]);
 
-  allow_inline_column_values => 1,
-);
+__PACKAGE__->meta->allow_inline_column_values(1);
 
 1;
 ;
index 4f9eae5..d453d25 100644 (file)
@@ -6,27 +6,25 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'requirement_spec_item_dependencies',
-
-  columns => [
-    depending_item_id => { type => 'integer', not_null => 1 },
-    depended_item_id  => { type => 'integer', not_null => 1 },
-  ],
-
-  primary_key_columns => [ 'depending_item_id', 'depended_item_id' ],
-
-  foreign_keys => [
-    depended_item => {
-      class       => 'SL::DB::RequirementSpecItem',
-      key_columns => { depended_item_id => 'id' },
-    },
-
-    depending_item => {
-      class       => 'SL::DB::RequirementSpecItem',
-      key_columns => { depending_item_id => 'id' },
-    },
-  ],
+__PACKAGE__->meta->table('requirement_spec_item_dependencies');
+
+__PACKAGE__->meta->columns(
+  depended_item_id  => { type => 'integer', not_null => 1 },
+  depending_item_id => { type => 'integer', not_null => 1 },
+);
+
+__PACKAGE__->meta->primary_key_columns([ 'depending_item_id', 'depended_item_id' ]);
+
+__PACKAGE__->meta->foreign_keys(
+  depended_item => {
+    class       => 'SL::DB::RequirementSpecItem',
+    key_columns => { depended_item_id => 'id' },
+  },
+
+  depending_item => {
+    class       => 'SL::DB::RequirementSpecItem',
+    key_columns => { depending_item_id => 'id' },
+  },
 );
 
 1;
index 62f9bcc..ba2d4cb 100644 (file)
@@ -6,59 +6,57 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'requirement_spec_items',
-
-  columns => [
-    id                   => { type => 'serial', not_null => 1 },
-    requirement_spec_id  => { type => 'integer', not_null => 1 },
-    item_type            => { type => 'text', not_null => 1 },
-    parent_id            => { type => 'integer' },
-    position             => { type => 'integer', not_null => 1 },
-    fb_number            => { type => 'text', not_null => 1 },
-    title                => { type => 'text' },
-    description          => { type => 'text' },
-    complexity_id        => { type => 'integer' },
-    risk_id              => { type => 'integer' },
-    time_estimation      => { type => 'numeric', default => '0', not_null => 1, precision => 2, scale => 12 },
-    net_sum              => { type => 'numeric', default => '0', not_null => 1, precision => 2, scale => 12 },
-    is_flagged           => { type => 'boolean', default => 'false', not_null => 1 },
-    acceptance_status_id => { type => 'integer' },
-    acceptance_text      => { type => 'text' },
-    itime                => { type => 'timestamp', default => 'now()', not_null => 1 },
-    mtime                => { type => 'timestamp' },
-  ],
+__PACKAGE__->meta->table('requirement_spec_items');
+
+__PACKAGE__->meta->columns(
+  acceptance_status_id => { type => 'integer' },
+  acceptance_text      => { type => 'text' },
+  complexity_id        => { type => 'integer' },
+  description          => { type => 'text' },
+  fb_number            => { type => 'text', not_null => 1 },
+  id                   => { type => 'serial', not_null => 1 },
+  is_flagged           => { type => 'boolean', default => 'false', not_null => 1 },
+  item_type            => { type => 'text', not_null => 1 },
+  itime                => { type => 'timestamp', default => 'now()', not_null => 1 },
+  mtime                => { type => 'timestamp' },
+  net_sum              => { type => 'numeric', default => '0', not_null => 1, precision => 2, scale => 12 },
+  parent_id            => { type => 'integer' },
+  position             => { type => 'integer', not_null => 1 },
+  requirement_spec_id  => { type => 'integer', not_null => 1 },
+  risk_id              => { type => 'integer' },
+  time_estimation      => { type => 'numeric', default => '0', not_null => 1, precision => 2, scale => 12 },
+  title                => { type => 'text' },
+);
 
-  primary_key_columns => [ 'id' ],
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-  allow_inline_column_values => 1,
+__PACKAGE__->meta->allow_inline_column_values(1);
 
-  foreign_keys => [
-    acceptance_status => {
-      class       => 'SL::DB::RequirementSpecAcceptanceStatus',
-      key_columns => { acceptance_status_id => 'id' },
-    },
+__PACKAGE__->meta->foreign_keys(
+  acceptance_status => {
+    class       => 'SL::DB::RequirementSpecAcceptanceStatus',
+    key_columns => { acceptance_status_id => 'id' },
+  },
 
-    complexity => {
-      class       => 'SL::DB::RequirementSpecComplexity',
-      key_columns => { complexity_id => 'id' },
-    },
+  complexity => {
+    class       => 'SL::DB::RequirementSpecComplexity',
+    key_columns => { complexity_id => 'id' },
+  },
 
-    parent => {
-      class       => 'SL::DB::RequirementSpecItem',
-      key_columns => { parent_id => 'id' },
-    },
+  parent => {
+    class       => 'SL::DB::RequirementSpecItem',
+    key_columns => { parent_id => 'id' },
+  },
 
-    requirement_spec => {
-      class       => 'SL::DB::RequirementSpec',
-      key_columns => { requirement_spec_id => 'id' },
-    },
+  requirement_spec => {
+    class       => 'SL::DB::RequirementSpec',
+    key_columns => { requirement_spec_id => 'id' },
+  },
 
-    risk => {
-      class       => 'SL::DB::RequirementSpecRisk',
-      key_columns => { risk_id => 'id' },
-    },
-  ],
+  risk => {
+    class       => 'SL::DB::RequirementSpecRisk',
+    key_columns => { risk_id => 'id' },
+  },
 );
 
 1;
index ca64422..5cb179c 100644 (file)
@@ -6,25 +6,23 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'requirement_spec_predefined_texts',
-
-  columns => [
-    id          => { type => 'serial', not_null => 1 },
-    description => { type => 'text', not_null => 1 },
-    title       => { type => 'text', not_null => 1 },
-    text        => { type => 'text', not_null => 1 },
-    position    => { type => 'integer', not_null => 1 },
-    itime       => { type => 'timestamp', default => 'now()' },
-    mtime       => { type => 'timestamp' },
-  ],
+__PACKAGE__->meta->table('requirement_spec_predefined_texts');
+
+__PACKAGE__->meta->columns(
+  description => { type => 'text', not_null => 1 },
+  id          => { type => 'serial', not_null => 1 },
+  itime       => { type => 'timestamp', default => 'now()' },
+  mtime       => { type => 'timestamp' },
+  position    => { type => 'integer', not_null => 1 },
+  text        => { type => 'text', not_null => 1 },
+  title       => { type => 'text', not_null => 1 },
+);
 
-  primary_key_columns => [ 'id' ],
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-  unique_key => [ 'description' ],
+__PACKAGE__->meta->unique_keys([ 'description' ]);
 
-  allow_inline_column_values => 1,
-);
+__PACKAGE__->meta->allow_inline_column_values(1);
 
 1;
 ;
index 6024130..763f902 100644 (file)
@@ -6,23 +6,21 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'requirement_spec_risks',
-
-  columns => [
-    id          => { type => 'serial', not_null => 1 },
-    description => { type => 'text', not_null => 1 },
-    position    => { type => 'integer', not_null => 1 },
-    itime       => { type => 'timestamp', default => 'now()' },
-    mtime       => { type => 'timestamp' },
-  ],
+__PACKAGE__->meta->table('requirement_spec_risks');
+
+__PACKAGE__->meta->columns(
+  description => { type => 'text', not_null => 1 },
+  id          => { type => 'serial', not_null => 1 },
+  itime       => { type => 'timestamp', default => 'now()' },
+  mtime       => { type => 'timestamp' },
+  position    => { type => 'integer', not_null => 1 },
+);
 
-  primary_key_columns => [ 'id' ],
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-  unique_key => [ 'description' ],
+__PACKAGE__->meta->unique_keys([ 'description' ]);
 
-  allow_inline_column_values => 1,
-);
+__PACKAGE__->meta->allow_inline_column_values(1);
 
 1;
 ;
index 9e9d9e2..c601566 100644 (file)
@@ -6,24 +6,22 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'requirement_spec_statuses',
-
-  columns => [
-    id          => { type => 'serial', not_null => 1 },
-    name        => { type => 'text', not_null => 1 },
-    description => { type => 'text', not_null => 1 },
-    position    => { type => 'integer', not_null => 1 },
-    itime       => { type => 'timestamp', default => 'now()' },
-    mtime       => { type => 'timestamp' },
-  ],
+__PACKAGE__->meta->table('requirement_spec_statuses');
+
+__PACKAGE__->meta->columns(
+  description => { type => 'text', not_null => 1 },
+  id          => { type => 'serial', not_null => 1 },
+  itime       => { type => 'timestamp', default => 'now()' },
+  mtime       => { type => 'timestamp' },
+  name        => { type => 'text', not_null => 1 },
+  position    => { type => 'integer', not_null => 1 },
+);
 
-  primary_key_columns => [ 'id' ],
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-  unique_key => [ 'name', 'description' ],
+__PACKAGE__->meta->unique_keys([ 'name', 'description' ]);
 
-  allow_inline_column_values => 1,
-);
+__PACKAGE__->meta->allow_inline_column_values(1);
 
 1;
 ;
index 426fac0..cfccd49 100644 (file)
@@ -6,31 +6,29 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'requirement_spec_text_blocks',
-
-  columns => [
-    id                  => { type => 'serial', not_null => 1 },
-    requirement_spec_id => { type => 'integer', not_null => 1 },
-    title               => { type => 'text', not_null => 1 },
-    text                => { type => 'text' },
-    position            => { type => 'integer', not_null => 1 },
-    output_position     => { type => 'integer', default => 1, not_null => 1 },
-    itime               => { type => 'timestamp', default => 'now()', not_null => 1 },
-    mtime               => { type => 'timestamp' },
-    is_flagged          => { type => 'boolean', default => 'false', not_null => 1 },
-  ],
-
-  primary_key_columns => [ 'id' ],
-
-  allow_inline_column_values => 1,
-
-  foreign_keys => [
-    requirement_spec => {
-      class       => 'SL::DB::RequirementSpec',
-      key_columns => { requirement_spec_id => 'id' },
-    },
-  ],
+__PACKAGE__->meta->table('requirement_spec_text_blocks');
+
+__PACKAGE__->meta->columns(
+  id                  => { type => 'serial', not_null => 1 },
+  is_flagged          => { type => 'boolean', default => 'false', not_null => 1 },
+  itime               => { type => 'timestamp', default => 'now()', not_null => 1 },
+  mtime               => { type => 'timestamp' },
+  output_position     => { type => 'integer', default => 1, not_null => 1 },
+  position            => { type => 'integer', not_null => 1 },
+  requirement_spec_id => { type => 'integer', not_null => 1 },
+  text                => { type => 'text' },
+  title               => { type => 'text', not_null => 1 },
+);
+
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
+
+__PACKAGE__->meta->allow_inline_column_values(1);
+
+__PACKAGE__->meta->foreign_keys(
+  requirement_spec => {
+    class       => 'SL::DB::RequirementSpec',
+    key_columns => { requirement_spec_id => 'id' },
+  },
 );
 
 1;
index d3f19db..5bffd8a 100644 (file)
@@ -6,23 +6,21 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'requirement_spec_types',
-
-  columns => [
-    id          => { type => 'serial', not_null => 1 },
-    description => { type => 'text', not_null => 1 },
-    position    => { type => 'integer', not_null => 1 },
-    itime       => { type => 'timestamp', default => 'now()' },
-    mtime       => { type => 'timestamp' },
-  ],
+__PACKAGE__->meta->table('requirement_spec_types');
+
+__PACKAGE__->meta->columns(
+  description => { type => 'text', not_null => 1 },
+  id          => { type => 'serial', not_null => 1 },
+  itime       => { type => 'timestamp', default => 'now()' },
+  mtime       => { type => 'timestamp' },
+  position    => { type => 'integer', not_null => 1 },
+);
 
-  primary_key_columns => [ 'id' ],
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-  unique_key => [ 'description' ],
+__PACKAGE__->meta->unique_keys([ 'description' ]);
 
-  allow_inline_column_values => 1,
-);
+__PACKAGE__->meta->allow_inline_column_values(1);
 
 1;
 ;
index ac96df3..fd0dddf 100644 (file)
@@ -6,31 +6,29 @@ use strict;
 
 use base qw(SL::DB::Object);
 
-__PACKAGE__->meta->setup(
-  table   => 'requirement_spec_versions',
-
-  columns => [
-    id             => { type => 'serial', not_null => 1 },
-    version_number => { type => 'integer' },
-    description    => { type => 'text', not_null => 1 },
-    comment        => { type => 'text' },
-    order_date     => { type => 'date' },
-    order_number   => { type => 'text' },
-    order_id       => { type => 'integer' },
-    itime          => { type => 'timestamp', default => 'now()' },
-    mtime          => { type => 'timestamp' },
-  ],
-
-  primary_key_columns => [ 'id' ],
-
-  allow_inline_column_values => 1,
-
-  foreign_keys => [
-    order => {
-      class       => 'SL::DB::Order',
-      key_columns => { order_id => 'id' },
-    },
-  ],
+__PACKAGE__->meta->table('requirement_spec_versions');
+
+__PACKAGE__->meta->columns(
+  comment        => { type => 'text' },
+  description    => { type => 'text', not_null => 1 },
+  id             => { type => 'serial', not_null => 1 },
+  itime          => { type => 'timestamp', default => 'now()' },
+  mtime          => { type => 'timestamp' },
+  order_date     => { type => 'date' },
+  order_id       => { type => 'integer' },
+  order_number   => { type => 'text' },
+  version_number => { type => 'integer' },
+);
+
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
+
+__PACKAGE__->meta->allow_inline_column_values(1);
+
+__PACKAGE__->meta->foreign_keys(
+  order => {
+    class       => 'SL::DB::Order',
+    key_columns => { order_id => 'id' },
+  },
 );
 
 1;
index 5b4ada2..660d0ce 100644 (file)
@@ -7,6 +7,8 @@ use strict;
 
 use SL::DB::MetaSetup::ProjectParticipant;
 
+__PACKAGE__->meta->initialize;
+
 # Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
 __PACKAGE__->meta->make_manager_class;
 
diff --git a/SL/DB/ProjectPhase.pm b/SL/DB/ProjectPhase.pm
new file mode 100644 (file)
index 0000000..b21d061
--- /dev/null
@@ -0,0 +1,15 @@
+# This file has been auto-generated only because it didn't exist.
+# Feel free to modify it at will; it will not be overwritten automatically.
+
+package SL::DB::ProjectPhase;
+
+use strict;
+
+use SL::DB::MetaSetup::ProjectPhase;
+
+__PACKAGE__->meta->initialize;
+
+# Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
+__PACKAGE__->meta->make_manager_class;
+
+1;
index 67c7939..58d107c 100644 (file)
@@ -7,6 +7,8 @@ use strict;
 
 use SL::DB::MetaSetup::ProjectPhaseParticipant;
 
+__PACKAGE__->meta->initialize;
+
 # Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
 __PACKAGE__->meta->make_manager_class;
 
index 444d111..e09f9af 100644 (file)
@@ -7,6 +7,8 @@ use strict;
 
 use SL::DB::MetaSetup::ProjectRole;
 
+__PACKAGE__->meta->initialize;
+
 # Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
 __PACKAGE__->meta->make_manager_class;
 
index e709f8d..11d92da 100644 (file)
@@ -9,6 +9,8 @@ use SL::DB::Manager::RequirementSpecAcceptanceStatus;
 use SL::DB::Helper::ActsAsList;
 use SL::Locale::String;
 
+__PACKAGE__->meta->initialize;
+
 our @valid_names = qw(accepted accepted_with_defects accepted_with_defects_to_be_fixed not_accepted);
 
 sub validate {
index 2ec63fe..5cdea0c 100644 (file)
@@ -7,6 +7,8 @@ use SL::DB::Manager::RequirementSpecComplexity;
 use SL::DB::Helper::ActsAsList;
 use SL::Locale::String;
 
+__PACKAGE__->meta->initialize;
+
 sub validate {
   my ($self) = @_;
 
index 029c84e..d4e5a58 100644 (file)
@@ -7,6 +7,8 @@ use strict;
 
 use SL::DB::MetaSetup::RequirementSpecDependency;
 
+__PACKAGE__->meta->initialize;
+
 # Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
 __PACKAGE__->meta->make_manager_class;
 
index f0d25ca..33738ea 100644 (file)
@@ -7,6 +7,8 @@ use SL::DB::Manager::RequirementSpecPredefinedText;
 use SL::DB::Helper::ActsAsList;
 use SL::Locale::String;
 
+__PACKAGE__->meta->initialize;
+
 sub validate {
   my ($self) = @_;
 
index 7d1449b..e2179d3 100644 (file)
@@ -7,6 +7,8 @@ use SL::DB::Manager::RequirementSpecRisk;
 use SL::DB::Helper::ActsAsList;
 use SL::Locale::String;
 
+__PACKAGE__->meta->initialize;
+
 sub validate {
   my ($self) = @_;
 
index d1e3986..8436799 100644 (file)
@@ -9,6 +9,8 @@ use SL::DB::Manager::RequirementSpecStatus;
 use SL::DB::Helper::ActsAsList;
 use SL::Locale::String;
 
+__PACKAGE__->meta->initialize;
+
 our @valid_names = qw(planning running done);
 
 sub validate {
index fa2c242..6525680 100644 (file)
@@ -7,6 +7,8 @@ use SL::DB::Manager::RequirementSpecType;
 use SL::DB::Helper::ActsAsList;
 use SL::Locale::String;
 
+__PACKAGE__->meta->initialize;
+
 sub validate {
   my ($self) = @_;
 
index e37b2c7..cde11f1 100644 (file)
@@ -5,6 +5,8 @@ use strict;
 use SL::DB::MetaSetup::RequirementSpecVersion;
 use SL::Locale::String;
 
+__PACKAGE__->meta->initialize;
+
 # Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
 __PACKAGE__->meta->make_manager_class;