[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