From: Tim Brody <tdb2 AT ecs.soton.ac.uk>
Date: Thu, 25 Jun 2009 17:07:49 +0100
| Threading: | ↑ [EP-tech] Modify type of meta field in live archive from alfons.wittmann AT ku-eichstaett.de • This Message |
http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
*** EPrints community wiki - http://wiki.eprints.org/
On Thu, 2009-06-25 at 16:55 +0200, Alfons Wittmann wrote:
> http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
> *** EPrints community wiki - http://wiki.eprints.org/
> Yuri wrote:
> >> I have to modify the type of an existing meta field in a live ↵
archive:
> >> I want to have the field "pages" with type ↵
"text" instead of "int".
> >>
> >> What I've done so far (on a test server):
> >> - ALTER TABLE `archiveid`.`eprint` MODIFY COLUMN `pages` TEXT ...
> >> - UPDATE archiveid.mf SET type = "text" WHERE ↵
metafieldid = "eprint.pages"
> >> - modify "/archiveid/cfg/cfg.d/eprints.pl"
> >> 'name' => 'pages',
> >> 'type' => 'text',
> >> - run "epadmin reorder archiveid metafield"
> >> - restart Apache
> >>
> >> Now it's possible to enter entries like "VI, 234" in ↵
pages, and they are
> >> saved in database, but there are still errors in Apache ↵
error_log:
> >>
> >> Argument "IV, 123" isn't numeric in sprintf at
> >> /opt/eprints3/perl_lib/EPrints/MetaField/Int.pm line 96.
> >> at /opt/eprints3/perl_lib/EPrints/MetaField/Int.pm line 96
> >> ↵
EPrints::MetaField::Int::ordervalue_basic('EPrints::MetaField::Int=HASH(0xb9212c2c)',
> >> 'IV, 123'
> >>
> >> Any hints? Or isn't it possible to change the type of an existing ↵
field?
> >>
> >
> > did you tell to eprints it is a text field?
>
> How to do that? I modified
> "/archiveid/cfg/cfg.d/eprint-fields.pl" (error in my previous ↵
posting!)
> 'name' => 'pages',
> 'type' => 'text',
Hi,
I just tried what you did on a trunk version and it works ok.