[Ror-es] rake db:fixtures:load y set_table_name

David Arango arango at gmail.com
Thu Sep 6 12:48:23 GMT 2007


Hola,

Nunca puedo cargar las fixtures cuando tengo un modelo que usa una
tabla con nombre no estándar, siempre intenta encontrar la tabla que
no es:

class Channel < ActiveRecord::Base
  set_table_name :podcast_channels
end


$ rake db:fixtures:load
rake aborted!
Mysql::Error: #42S02Table 'podcasting_development.channels' doesn't
exist: DELETE FROM channels

Pensaba que esto estaba solucionado en rails 1.2.3, de hecho he visto
algún parche por ahí, pero tampoco me funciona, he tenido que hacerlo
a pata y es un asco tener que hacerlo en cada nuevo proyecto ¿alguien
sabe algo?

Por si a alguien le sirve, lo que me ha funcionado es:

Línea 279 de vendor/rails/activerecord/lib/active_record

- @table_name = class_name.table_name if class_name.respond_to?(:table_name)
+ @table_name = Module.const_get(@class_name).table_name


-- 
David Arango, el único desarrollador con una orden de alejamiento de
Jeffrey Zeldman
Simplelogica.net, ahora con un 33,3% más de intromisión en listas de correo

Cuando no hago otra cosa escribo en mildiez.net


More information about the Ror-es mailing list