Rake db:fixtures:load y set_table_name

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 A., 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