Insert bloque registros en un modelo

Buenas noches.

hace dias no molestaba, gracias este he recorrido bastante camino, pero
me falta mucho aun por recorrer.

ahora molesto por lo siguiente:

de un modelo debo borrar un grupo de registros, pero antes de borrarlos
debo llevarlos a otro modelo historico, ambos modelos son iguales:

para borrar hago esto:

Movimiento.destroy_all([“salida_at between ? and
?”,tliquidacion.fch_cierre, tliquidacion.fch_cierre+1])

habra algo parecido para pasar el bloque de registros de un modelo al
otro antes de borrarlos?

mil gracias.

William B.
Medellin, Colombia

Hola William,

William B.
escribió:> de un modelo debo borrar un grupo de registros, pero antes de borrarlos

debo llevarlos a otro modelo historico, ambos modelos son iguales:

Eso de que ambos modelos son iguales me suena un poco raro :wink: De todas
formas si es así quizá puedas hacer algo como esto en Modelo:

def self.clean_historic_data
historic_data = find(:conditions => "["salida_at between ? and

?",tliquidacion.fch_cierre, tliquidacion.fch_cierre+1]")
historic_data.each do |data|
TuOtroModelo.create(data.attributes)
data.destroy
end
end

No sé si esto encaja con lo que quieres y seguro que se puede afinar,
pero quizá te sirva como punto de partida.

Saludos,
Raul M.

On Oct 19, 2007, at 12:46 PM, Raul M. wrote:

historic_data.each do |data|
TuOtroModelo.create(data.attributes)

Observad el detalle fino que “id” es protected, por lo que aunque
data.attributes lleva uno create() lo ignora.

On 19/10/2007, William B. [email protected]
wrote:

Buenas noches.

hace dias no molestaba, gracias este he recorrido bastante camino, pero
me falta mucho aun por recorrer.

ahora molesto por lo siguiente:

de un modelo debo borrar un grupo de registros, pero antes de borrarlos
debo llevarlos a otro modelo historico, ambos modelos son iguales:

Por proponer soluciones alternativas: si ambos son modelos son iguales
¿no podrías simplemente meter una columna status
(“histórico”,“activo”) o un booleano ‘histórico’ en cada registro?
Luego unos finders especializados y listo.


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.

Xavier N.
escribió:> Observad el detalle fino que “id” es protected, por lo que aunque

data.attributes lleva uno create() lo ignora.

Buena observación, gracias Xavi! :slight_smile:

Saludos,
Raul M.

Manuel González Noriega
escribió:> Por proponer soluciones alternativas: si ambos son modelos son iguales

¿no podrías simplemente meter una columna status
(“histórico”,“activo”) o un booleano ‘histórico’ en cada registro?
Luego unos finders especializados y listo.

Sí, a eso me refería con lo de que me sonaba raro eso de los “dos
modelos iguales” :slight_smile: Quizá prefiere tenerlos separados a nivel de tabla
por algún tema de espacio, backups o similar, pero desde luego lo que me
pediría el cuerpo es lo que comenta Manuel.

Saludos,
Raul M.

On Oct 19, 2007, at 1:22 PM, Manuel González Noriega wrote:

de un modelo debo borrar un grupo de registros, pero antes de
borrarlos
debo llevarlos a otro modelo historico, ambos modelos son iguales:

Por proponer soluciones alternativas: si ambos son modelos son iguales
¿no podrías simplemente meter una columna status
(“histórico”,“activo”) o un booleano ‘histórico’ en cada registro?
Luego unos finders especializados y listo.

Visto asi quiza acts_as_paranoid lo resolviera de una tacada:

http://ar-paranoid.rubyforge.org/

– fxn

– fxn

Mil gracias a todos por sus aportes, la solucion que implemente fue la
de raul.

saludos

William Betancur
Medellin, Colombia

William,

Creo que lo mas recomendable es hacerlo con un procedimiento almacenado
que reciba como parámetros las fechas inicial y final de la
transferencia al histórico y además maneje el campo de estado que
menciona Manuel. Hecho lo anterior, ese procedimiento almacenado debe
ser llamado desde pagina web y que lo ejecute rails con un botón, se
debe colocar en algún menú de mantenimiento o algo
así.

Benjamin C.

William B.
escribió:> Buenas noches.