Una migración sencilla


#1

Estoy siguiendo el ejemplo del carrito de compra del Agile Web
Development, pero ante una migración tan sencilla como ésta me da un error

class AddPrice < ActiveRecord::Migration
def self.up
add_column :products, :price, :decimal, :precision => 8, :scale => 2,
:default => 0
end

def self.down
remove_column :productos, :price
end
end

Al hacer rake db:migrate, me dice:

– add_column(:products, :price, :decimal, {:precision=>8, :scale=>2,
:default=>0})

rake aborted!
You have a nil object when you didn’t expect
You might have expected an instance of Array
The error occured while evaluating nil.[]

Qué error hay? la tabla products existe ya de la anterior
migración


#2

Miguel Angel Calleja Lázaro
escribió:

remove_column :productos, :price
You might have expected an instance of Array
The error occured while evaluating nil.[]

Qué error hay? la tabla products existe ya de la anterior migración


Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es

He escrito mal el self.down, es
así:
def self.down
remove_column :products, :price
end


#3

On Feb 26, 2007, at 10:31 AM, Miguel Angel Calleja Lázaro wrote:

end
:default=>0})

He escrito mal el self.down, es así:

def self.down
remove_column :products, :price
end

Pero ese no es el motivo del error verdad?

– fxn


#4

Xavier N.
escribió:

end
The error occured while evaluating nil.[]
He escrito mal el self.down, es así:


Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es

No, perdón, se me había olvidado decirlo, no es el motivo, creo que
tiene que ver que no me reconoce el :decimal, :precision y :scale, acabo
de actualizar las gemas pero sigue sin irme, igual me falta por
actualizar algo


#5

Xavier N.
escribió:

Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es

Si era éso, estaba usando la 1.1.6, la he actualizado a la 1.2, muchas
gracias


#6

On Feb 26, 2007, at 11:13 AM, Miguel Angel Calleja Lázaro wrote:

No, perdón, se me había olvidado decirlo, no es el motivo, creo que
tiene que ver que no me reconoce el :decimal, :precision y :scale,
acabo
de actualizar las gemas pero sigue sin irme, igual me falta por
actualizar algo

Veo que sabes que :decimal es un añadido reciente. Mira en
environment.rb que no estes usando 1.1.x, quiza tengas ambas gemas
instaladas y este aun encontrando esa si se pide por ella. Si el
esqueleto se genero con 1.1.x recuerda ejecutar rake rails:update al
pasar a 1.2.x.

– fxn