Foros del Web » Programando para Internet » Ruby »

Nombres de las PK de las tablas

Estas en el tema de Nombres de las PK de las tablas en el foro de Ruby en Foros del Web. Hola, hace poco tiempo que estoy probando este gran framework, lo cual me ha llevado a algunas dudas que he ido resolviendo y otras no. ...
  #1 (permalink)  
Antiguo 03/03/2008, 01:48
Avatar de iHans  
Fecha de Ingreso: octubre-2007
Mensajes: 27
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Nombres de las PK de las tablas

Hola, hace poco tiempo que estoy probando este gran framework, lo cual me ha llevado a algunas dudas que he ido resolviendo y otras no. Una duda que tengo, para realizar una aplicación con RoR las PK de las tablas deben tener como nombre "id" y no "idcliente" por decir, pero que pasa si la base de datos creada tiene los nombre de las PK como "idcliente", "idpersonal" o cosas así, ¿cómo es que puedo usar Rails en estos casos?, espero se entienda mi duda.

Saludos y gracias.
  #2 (permalink)  
Antiguo 08/04/2008, 12:58
Avatar de tupanka  
Fecha de Ingreso: marzo-2008
Mensajes: 62
Antigüedad: 16 años, 1 mes
Puntos: 1
Re: Nombres de las PK de las tablas

No se puede, Tienes que cambiarle el nombre al campo (se llamara id), no creo que eso sea muy dificil para ti
  #3 (permalink)  
Antiguo 09/04/2008, 06:35
 
Fecha de Ingreso: abril-2008
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Nombres de las PK de las tablas

lo que passa es que el framework te construye codigo en los controller que hacen referencia id, por eso no te funciona si tiene otro nombre diferente, no te compliques la vida, hazlo como manda ror y te evitaras muchos dolores de cabeza.

saudos desde colombia y adelante con ror.
  #4 (permalink)  
Antiguo 10/04/2008, 11:04
 
Fecha de Ingreso: abril-2008
Mensajes: 21
Antigüedad: 16 años
Puntos: 0
Re: Nombres de las PK de las tablas

Hola iHans, el dilema aqui es romper o no la convención del framework, lo que tu quieres claro que se puede hacer, pero tienes que hacer un trabajo extra que no seria necesario si sigues la convención, lo que neceistas a gorso modo seria:

En el modelo lo siguiente:

class .... < ActtiveRecord::Base
set_primary_key "nombre_de_tu_pk"
end

Con eso solucionarias el problema en el caso de que tu PK sea de tipo de entro y se autoincremente como lo requiere Rails, de no ser asi tendrias que hacer otros trabajos extras, ya que metodos como: Modelo.find(1), necesitan que la PK sea de tipo entero por ejemplo, pero de que se puede romper la convención si se puede.

Saludos.
  #5 (permalink)  
Antiguo 11/04/2008, 06:52
 
Fecha de Ingreso: abril-2008
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Nombres de las PK de las tablas

Ruben, cuando hay aplicaciones ya existentes que no tienen las convenciones rails y queremos hacer algunos formularios que peguen contra esa base de datos, es cuando nos vamos a encontrar con estos problemas, seria interesante alguna documentacion donde podamos solucionar esto. gracias
  #6 (permalink)  
Antiguo 11/04/2008, 07:54
 
Fecha de Ingreso: abril-2008
Mensajes: 21
Antigüedad: 16 años
Puntos: 0
Re: Nombres de las PK de las tablas

Hola William, una rapida busca en google con "rails + legacy database" me devolcio algunos links interesantes:

http://wharsojo.wordpress.com/2006/06/19/ruby-on-rails-legacy-database-with-no-non-auto-increment-and-manual-update-primary-key/
http://www.robbyonrails.com/articles/2005/07/25/the-legacy-of-databases-with-rails
http://groups.google.com/group/rubyonrails-legacy/browse_thread/thread/39a9136f8e4331f4

Saludos.
  #7 (permalink)  
Antiguo 12/04/2008, 08:37
 
Fecha de Ingreso: abril-2008
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Nombres de las PK de las tablas

De Nuevo Gracias
  #8 (permalink)  
Antiguo 23/04/2008, 06:23
 
Fecha de Ingreso: abril-2008
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Nombres de las PK de las tablas

Mil gracias Ruben. me sirvieron tus links, ya que no sabia como buscar en la web.

ya con esto hice los formularios de consulta a una aplicacion muy vieja cuya base de datos esta en oracle, me puso tambien problema la conexion a oracle pero al fin con la ayuda de amigos de la web logré hacerla.

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:54.