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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs