Tengo una clase persistente almacenada en un almacén de datos GAE. He eliminado uno de los atributos de la clase. Los nuevos registros en esta tabla muestran un valor <none
> para el atributo eliminado. Pero, ¿hay alguna manera de poder eliminar completamente esta columna de la mesa?Cómo eliminar una columna (atributo) de un almacén de datos GAE?
Gracias.
Agregado el siguiente código 'migración' de acuerdo con la sugerencia de Moraes, pero no está logrando el resultado deseado:
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
Query q = pm.newQuery(UserLogin.class);
Collection<UserLogin> list = (Collection<UserLogin>) q.execute();
Iterator<UserLogin> iter = list.iterator();
while (iter.hasNext()) {
UserLogin obj = (UserLogin) iter.next();
obj.setLoginDate(obj.getLoginDate());
}
pm.makePersistentAll(list);
} finally {
pm.close();
}
moraes - gracias por su ayuda. Por favor, consulte el código de 'migración' en mi OP. Mi clase UserLogin es la clase persistente y el campo no deseado se ha eliminado de ella. Pero de alguna manera sigo viendo ' debajo de las entradas antiguas en el almacén de datos. ¿Me he perdido algo? –
DFB
Debe llamar a pm.makePersistentAll() pasando las entidades modificadas, para guardarlas y excluir efectivamente la propiedad adicional que ya no existe. – moraes
Agregué esa llamada al método, pero no hubo diferencia. Ver el código actualizado en mi OP. Todavía veo ' para los valores de la propiedad eliminada. Gracias. –
DFB