diff --git a/Kernel/System/MigrateFromOTRS/CloneDB/Driver/mysql.pm b/Kernel/System/MigrateFromOTRS/CloneDB/Driver/mysql.pm index c29fc1c070..335d86bc4d 100644 --- a/Kernel/System/MigrateFromOTRS/CloneDB/Driver/mysql.pm +++ b/Kernel/System/MigrateFromOTRS/CloneDB/Driver/mysql.pm @@ -269,6 +269,7 @@ sub TranslateColumnInfos { } # Alter table add column +# Note: add also custom columns which not belongs to standard sub AlterTableAddColumn { my ( $Self, %Param ) = @_; @@ -288,15 +289,20 @@ sub AlterTableAddColumn { my $SQL = qq{ALTER TABLE $Param{Table} ADD $Param{Column} $ColumnInfos{DATA_TYPE}}; if ( $ColumnInfos{LENGTH} ) { - $SQL .= " \($ColumnInfos{LENGTH}\)"; + $SQL .= " ($ColumnInfos{LENGTH})"; } - if ( $ColumnInfos{IS_NULLABLE} =~ m/no/ ) { - $SQL .= ' NOT NULL'; + if ( $ColumnInfos{COLUMN_DEFAULT} ) { + $SQL .= " DEFAULT '$ColumnInfos{COLUMN_DEFAULT}'"; + } + + # IS_NULLABLE is either YES or NO + if ( $ColumnInfos{IS_NULLABLE} eq "NO" ) { + $SQL .= " NOT NULL"; } my $Success = $Param{DBObject}->Do( - SQL => $SQL, + SQL => $SQL, ); if ( !$Success ) { diff --git a/Kernel/System/MigrateFromOTRS/CloneDB/Driver/oracle.pm b/Kernel/System/MigrateFromOTRS/CloneDB/Driver/oracle.pm index 4ef394f8f9..945c8a93b0 100644 --- a/Kernel/System/MigrateFromOTRS/CloneDB/Driver/oracle.pm +++ b/Kernel/System/MigrateFromOTRS/CloneDB/Driver/oracle.pm @@ -354,6 +354,7 @@ sub TranslateColumnInfos { } # Alter table add column +# Note: add also custom columns which not belongs to standard sub AlterTableAddColumn { my ( $Self, %Param ) = @_; @@ -373,16 +374,20 @@ sub AlterTableAddColumn { my $SQL = qq{ALTER TABLE $Param{Table} ADD $Param{Column} $ColumnInfos{DATA_TYPE}}; if ( $ColumnInfos{LENGTH} ) { - $SQL .= " \($ColumnInfos{LENGTH}\)"; + $SQL .= " ($ColumnInfos{LENGTH})"; + } + + if ( $ColumnInfos{COLUMN_DEFAULT} ) { + $SQL .= " DEFAULT '$ColumnInfos{COLUMN_DEFAULT}'"; } # IS_NULLABLE is either YES or NO - if ( $ColumnInfos{IS_NULLABLE} =~ m/no/i ) { - $SQL .= ' NOT NULL'; + if ( $ColumnInfos{IS_NULLABLE} eq "NO" ) { + $SQL .= " NOT NULL"; } my $Success = $Param{DBObject}->Do( - SQL => $SQL, + SQL => $SQL, ); if ( !$Success ) { diff --git a/Kernel/System/MigrateFromOTRS/CloneDB/Driver/postgresql.pm b/Kernel/System/MigrateFromOTRS/CloneDB/Driver/postgresql.pm index a99517f287..bf326e31e3 100644 --- a/Kernel/System/MigrateFromOTRS/CloneDB/Driver/postgresql.pm +++ b/Kernel/System/MigrateFromOTRS/CloneDB/Driver/postgresql.pm @@ -324,6 +324,7 @@ sub TranslateColumnInfos { } # Alter table add column +# Note: add also custom columns which not belongs to standard sub AlterTableAddColumn { my ( $Self, %Param ) = @_; @@ -343,15 +344,20 @@ sub AlterTableAddColumn { my $SQL = qq{ALTER TABLE $Param{Table} ADD $Param{Column} $ColumnInfos{DATA_TYPE}}; if ( $ColumnInfos{LENGTH} ) { - $SQL .= " \($ColumnInfos{LENGTH}\)"; + $SQL .= " ($ColumnInfos{LENGTH})"; } - if ( $ColumnInfos{IS_NULLABLE} =~ m/no/ ) { - $SQL .= ' NOT NULL'; + if ( $ColumnInfos{COLUMN_DEFAULT} ) { + $SQL .= " DEFAULT '$ColumnInfos{COLUMN_DEFAULT}'"; + } + + # IS_NULLABLE is either YES or NO + if ( $ColumnInfos{IS_NULLABLE} eq "NO" ) { + $SQL .= " NOT NULL"; } my $Success = $Param{DBObject}->Do( - SQL => $SQL, + SQL => $SQL, ); if ( !$Success ) {