From: Yuri <yurj AT alfa.it>
Date: Thu, 25 Jun 2009 17:43:24 +0200
| 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/
Alfons Wittmann ha scritto:
> 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',
>
> what else?
>
Restart eprints. If you've a recent version of eprints, run the "epadmin
update_database_structure" command, it may help
.