[Zope-es] Modificaciones

David Picó Vila dpico en dsic.upv.es
Jue Dic 6 11:15:49 CET 2007


Paulino y Santiago, muchísimas gracias por vuestras respuestas. Me han  
aclarado el tema, a falta de que me ponga manos a la obra.

Un saludo
David

El 05/12/2007, a las 13:51, Paulino Ruiz de Clavijo escribió:

> Hola, me ha pasado varias veces cambiar un tipo:
>
> Dependiendo de lo que hagas tendrás o no que migrar los objetos de  
> la base de
> datos, ( es decir un script que los busque y los altere  
> convenientemente)
>
> Te comento algunos casos:
>
> Caso 1. Caso habitual y simple:
> Tienes un archetype y le añades un campo en el "schema" entonces:
> Te vas a archetype_tool haces un "update old schemas" y arreglado
>
> Caso 2. Le añades un atributo a tu objeto pero fuera del esquema:
> Sol : Asegurate cuando pidas el atributo hacer:
>    getattr(object,"nuevo_atributo",None) en scripts ó
>    nuevo_attr here/nuevo_attr|nothing en plantillas
>    debe funcionar.
>
> Un detalle más para los casos 1 y 2. La base de datos debe estar en  
> escritura
> ya que zope reescribe automáticamente los objetos en cuanto son  
> accedidos si
> detecta que han cambiado sus atributos (mas o menos)
>
> Caso 3. Cambio la clase de las que derivé el objeto:
>    Pues la liaste, probablemente tengas que migrar los objetos para
> adaptarlos eliminando los atributos que ya no se usan etc.
>
>   En estos casos la migración se suele hacer en un script:
>     paso 1: Se lee del objeto antiguo los atributos a conservar,
>     paso 2: se renombra el antiguo objeto
>     paso 3: Se crea un nuevo objeto del nuevo tipo, con el nombre  
> correcto y
> los atributos.
>     paso 4: Pues no se si borrar el antiguo objeto renombrado, La  
> migración
> suele fallar varias veces.
>
> Espero que te sirva de algo. Seguramente algunos con mas experiencia  
> puedan
> detallarte mas situaciones.
>
> Saludos
>
>
>
>
>
> El Wednesday 05 December 2007 13:10:54 David Picó Vila escribió:
>> Hola a todos.
>>
>> Una pregunta de método. En Plone, imaginad que creo un tipo de
>> contenido y pongo en marcha un web, de manera que la base de datos
>> poco a poco va conteniendo instancias de ese tipo.
>>
>> Si tiempo después quiero añadir un campo o quitarlo al tipo de datos,
>> ¿cómo puedo procesar la base de datos para actualizar las entradas ya
>> existentes?
>>
>> Si solamente reinstalo el producto que define el tipo, ¿qué pasa con
>> las entradas antiguas? ¿Tengo que mantener las dos definiciones
>> activas a la vez (¿con nombres distintos?) y después hacer algún
>> script (¿cómo?) que haga la conversión? ¿Perdería así datos tipo
>> autor, fecha de creación, etc.?
>>
>>
>> Mi petición a la lista es más de referencias de documentación que una
>> explicación "in situ". Entiendo que el tema no es trivial.
>>
>> Un saludo
>> David_______________________________________________
>> Zope-es mailing list
>> Zope-es en aditel.org
>> http://listas.aditel.org/listinfo/zope-es
>
>
>
> -- 
> Paulino Ruiz de Clavijo V.
> Dpto. Tecnología Electrónica
> Universidad de Sevilla
> _______________________________________________
> Zope-es mailing list
> Zope-es en aditel.org
> http://listas.aditel.org/listinfo/zope-es



Más información sobre la lista de distribución Zope-es