RT 4.2.10: Renumber imported tickets -- solved

Joop wrote:>On 29-6-2015 2:26, Jeffrey Pilant wrote:

Joop wrote:

On 26-6-2015 19:52, Jeffrey Pilant wrote:

I am trying to import data from RT 3.8.4 into RT 4.2.10.
I first tried to update in place, but that failed. [Ancient version
of Ubuntu (9.10, current LTS 14) with ancient Perl and ancient Apache.]
I next did a clean install on SUSE (12.2, 64bit), which worked.
Now I need to add the old data.
I updated the old database by the following steps:
make upgrade-database
/opt/rt4/etc/upgrade/upgrade-articles
/opt/rt4/sbin/rt-validator --check
/opt/rt4/sbin/rt-serializer
/opt/rt4/sbin/rt-importer

You can import a mysql export from the old version into the new database
and then follow the upgrade instruction.
So:

  • install new system, install RT according to the installation manual if
    you want to check if all is functional also run make initdb. If that
    works, make dropdb, import the old data and following the upgrade
    instructions paying attention to the fact that you’re using mysql. My
    memory says that you need some additional steps besides make
    upgrade-database.
    The upgrade-articles is the succeeding step I think you are thinking of.

While I did not do “make dropdb”, I did “drop database rt4” in mysql,
followed by “create database rt4”, “use rt4”, and “source ”.
This let the RT4 tools access the old data, allowing the upgrade-database
and upgrade-articles.

Sofar its OK. Your RT instance is usable from here.

The serializer exported the data to a neutral xml format. I then reset
the database back to the clean-install’s version I had previously saved.

This loaded the old data into the new database, but changed the ticket numbers.

Why the export, reset, import?
There is, sofar as I know, nothing in the upgrade instructions that
tells you to do this.

When the initial upgrade-in-place failed, I did not trust the database
was properly updated. So I used the export/import to make sure I had
good data.

Following your suggestion of not doing that, the data seems OK, although
I still have lingering doubts. Especially as I get these messages in the
Update from /opt/rt4/etc/upgrade/upgrade-articles:

  • [critical]: Can’t locate object method “new” via package “RT::FM::Article”
  •         (perhaps you forgot to load "RT::FM::Article"?) at
    
  •         lib/RT/Transaction.pm line 1352. (lib/RT.pm:388)
    
  • Can’t locate object method “new” via package “RT::FM::Article” (perhaps you
  • forgot to load “RT::FM::Article”?) at lib/RT/Transaction.pm line 1352.

I went into mysql to change the existing “RT::FM::Article” entries into
“RT::Article”, as this seems to be what it was doing. I don’t know if
it needed to make any other changes after this point.

/jeff
The information contained in this e-mail is for the exclusive use of the
intended recipient(s) and may be confidential, proprietary, and/or
legally privileged. Inadvertent disclosure of this message does not
constitute a waiver of any privilege. If you receive this message in
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message. Please also delete this e-mail
and all copies and notify the sender. Thank you.

For alternate languages please go to http://bayerdisclaimer.bayerweb.com

Joop wrote:

Joop wrote:

I am trying to import data from RT 3.8.4 into RT 4.2.10.
I first tried to update in place, but that failed. [Ancient version
of Ubuntu (9.10, current LTS 14) with ancient Perl and ancient Apache.]
I next did a clean install on SUSE (12.2, 64bit), which worked.
Now I need to add the old data.
I updated the old database by the following steps:
make upgrade-database
/opt/rt4/etc/upgrade/upgrade-articles
/opt/rt4/sbin/rt-validator --check
/opt/rt4/sbin/rt-serializer
/opt/rt4/sbin/rt-importer

You can import a mysql export from the old version into the new database
and then follow the upgrade instruction.
So:

  • install new system, install RT according to the installation manual if
    you want to check if all is functional also run make initdb. If that
    works, make dropdb, import the old data and following the upgrade
    instructions paying attention to the fact that you’re using mysql. My
    memory says that you need some additional steps besides make
    upgrade-database.
    The upgrade-articles is the succeeding step I think you are thinking of.

While I did not do “make dropdb”, I did “drop database rt4” in mysql,
followed by “create database rt4”, “use rt4”, and “source ”.
This let the RT4 tools access the old data, allowing the upgrade-database
and upgrade-articles.
Sofar its OK. Your RT instance is usable from here.

The serializer exported the data to a neutral xml format. I then reset
the database back to the clean-install’s version I had previously saved.

This loaded the old data into the new database, but changed the ticket numbers.
Why the export, reset, import?
There is, sofar as I know, nothing in the upgrade instructions that
tells you to do this.
When the initial upgrade-in-place failed, I did not trust the database
was properly updated. So I used the export/import to make sure I had
good data.

Following your suggestion of not doing that, the data seems OK, although
I still have lingering doubts. Especially as I get these messages in the
Update from /opt/rt4/etc/upgrade/upgrade-articles:

  • [critical]: Can’t locate object method “new” via package “RT::FM::Article”
  •         (perhaps you forgot to load "RT::FM::Article"?) at
    
  •         lib/RT/Transaction.pm line 1352. (lib/RT.pm:388)
    
  • Can’t locate object method “new” via package “RT::FM::Article” (perhaps you
  • forgot to load “RT::FM::Article”?) at lib/RT/Transaction.pm line 1352.

I went into mysql to change the existing “RT::FM::Article” entries into
“RT::Article”, as this seems to be what it was doing. I don’t know if
it needed to make any other changes after this point.

Have a look at the upgrade-articles script and see if other things might
be missing. From the above it looks like the ‘update links’ step didn’t
work out OK.

Joop