que cree un nuevo registro de este modo:rieles Identificación automática de la asignación que ya existe
truck = Truck.create(:name=>name, :user_id=>2)
Mi base de datos tiene actualmente varios miles de entidades para el carro, pero asigna los identificadores de varios de ellos, en una camino que dejó algunos id disponibles. Entonces, lo que está sucediendo es que Rails crea un elemento con id = 150 y funciona bien. Pero entonces se trata de crear un elemento y asignarlo id = 151, pero ese id puede existir ya, por lo que estoy viendo este error:
ActiveRecord::RecordNotUnique (PG::Error: ERROR: duplicate key value violates unique constraint "companies_pkey" DETAIL: Key (id)=(151) already exists.
Y la próxima vez que ejecute la acción, lo hará simplemente asigne la identificación 152, que funcionará bien si ese valor no está ya tomado. ¿Cómo puedo obtener los rieles para verificar si ya existe una ID antes de asignarla?
Gracias!
EDITAR
La identificación del camión es lo que se está duplicada. El usuario ya existe y es una constante en este caso. En realidad, es un problema heredado con el que tengo que lidiar. Una opción es volver a crear la tabla en let rails auto assign every id esta vez. Estoy empezando a pensar que esta puede ser la mejor opción porque tengo algunos otros problemas, pero la migración para hacer esto sería muy complicada porque Truck es una clave foránea en muchas otras tablas. ¿Habría una manera simple de hacer que los rieles crearan una nueva tabla con los mismos datos que ya estaban almacenados en Camión, con identificaciones asignadas automáticamente y manteniendo todas las relaciones existentes?
¿Por qué no dejas que los rieles asignen el ID automáticamente? Eso eliminaría cualquier peligro de duplicación. ¿O se trata de un problema de datos heredado en el que debe conservar ID anteriores? Solo quiero entender un poco el caso empresarial, ya que no es lo mismo cuando se crea un objeto nuevo. – MBHNYC
@MBHNYC Creo que D-Nice está asignando un user_id al crear la compañía, y no identifica como estás pensando (y lo hice por un momento también). – Anil
Ooo buena captura Anil - tienes toda la razón. @ D-Nice, ¿quizás agregue su migración para esta tabla a su publicación en caso de que haya algo extraño? Tentando para editar ese user_id para eliminar la confusión. – MBHNYC