diff options
Diffstat (limited to 'rt/etc/upgrade/4.1.5')
-rw-r--r-- | rt/etc/upgrade/4.1.5/content | 34 | ||||
-rw-r--r-- | rt/etc/upgrade/4.1.5/schema.Oracle | 6 | ||||
-rw-r--r-- | rt/etc/upgrade/4.1.5/schema.Pg | 2 | ||||
-rw-r--r-- | rt/etc/upgrade/4.1.5/schema.mysql | 2 |
4 files changed, 44 insertions, 0 deletions
diff --git a/rt/etc/upgrade/4.1.5/content b/rt/etc/upgrade/4.1.5/content new file mode 100644 index 000000000..0ed1dda39 --- /dev/null +++ b/rt/etc/upgrade/4.1.5/content @@ -0,0 +1,34 @@ +use strict; +use warnings; + +our @Initial = ( + # upgrade Template from id to name + sub { + require RT::Scrips; + my $scrips = RT::Scrips->new( RT->SystemUser ); + $scrips->UnLimit; + while ( my $scrip = $scrips->Next ) { + my $id = $scrip->Template; + if ( $id =~ /\D/ ) { + $RT::Logger->info('Template column for scrip #'. $scrip->id .' already contains characters'); + next; + } + + my $name; + + my $template = RT::Template->new( RT->SystemUser ); + $template->Load( $id ); + unless ( $template->id ) { + $RT::Logger->error("Scrip #". $scrip->id ." has template set to #$id, but it's not in DB, setting it 'Blank'"); + $name = 'Blank'; + } else { + $name = $template->Name; + } + + my ($status, $msg) = $scrip->_Set( Field => 'Template', Value => $name ); + unless ( $status ) { + $RT::Logger->error("Couldn't set template: $msg"); + } + } + }, +); diff --git a/rt/etc/upgrade/4.1.5/schema.Oracle b/rt/etc/upgrade/4.1.5/schema.Oracle new file mode 100644 index 000000000..648784dca --- /dev/null +++ b/rt/etc/upgrade/4.1.5/schema.Oracle @@ -0,0 +1,6 @@ +# Template column +ALTER TABLE Scrips RENAME COLUMN Template TO TemplateOld; +ALTER TABLE Scrips ADD Template VARCHAR2(200); +UPDATE Scrips SET Template = CAST(TemplateOld AS varchar2(200)); +ALTER TABLE Scrips MODIFY Template VARCHAR2(200) NOT NULL; +ALTER TABLE Scrips DROP COLUMN TemplateOld; diff --git a/rt/etc/upgrade/4.1.5/schema.Pg b/rt/etc/upgrade/4.1.5/schema.Pg new file mode 100644 index 000000000..3a12d4d88 --- /dev/null +++ b/rt/etc/upgrade/4.1.5/schema.Pg @@ -0,0 +1,2 @@ +# Template colum +ALTER TABLE Scrips ALTER COLUMN Template TYPE varchar(200); diff --git a/rt/etc/upgrade/4.1.5/schema.mysql b/rt/etc/upgrade/4.1.5/schema.mysql new file mode 100644 index 000000000..d35d73071 --- /dev/null +++ b/rt/etc/upgrade/4.1.5/schema.mysql @@ -0,0 +1,2 @@ +# Template column +ALTER TABLE Scrips CHANGE Template Template varchar(200) NOT NULL; |