I use acts_as_ferret to my business model, and it work very well in development env. However, the problem is when I try to rake db:fixtures:load, it always show an errors "Mysql::Error: Unknown column ''log_file'' in ''field list'': INSERT INTO `businesses` (`city`, `address1`, `updated_at`, `zip`, `logo`, `busname`, `id`, `lng`, `log_file`, `port`, `description`, `fax`, `phone`, `first_name`, `host`, `lat`, `last_name`, `log_level`, `pid_file`, `created_at`, `state`, `email`) VALUES (''New York'', ''106 Bayard St'', ''2008-08-26 14:28:47'', 10013, ''tonys_pizza_logo'', ''Tony\''s Pizza'', 569266725, -74.008878, ''log/ferret_server.log'', 9010, ''The best place to get pizza!'', ''7776662222'', ''8887772222'', ''Tony'', ''localhost'', 40.72092, ''DiMaggio'', ''warn'', ''log/ferret.pid'', ''2008-08-26 14:28:47'', ''NY'', ''tony-FKNpxaGXojM@public.gmane.org'')" My business schema does not have any one log_file, host, port, pid_file, log_level. (I belive these field come from ferret), I think that ferret trying to put this filed into the database with the object. does any one know how to fix this problem. Inaddtion, the following code is in my business model class Business < ActiveRecord::Base acts_as_ferret :fields=>[ :coupon_title, :busname], :ferret=>{:or_default=>true} has_many :coupons private def coupon_title return coupons.collect{|c| c.title}.uniq.join('' '') end end --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
I finally solved this and this is the stupidest bug that I have ever seen. The problem is that my businesses fixture have function to generate data business1: username: business1 encrypted_password: Business.encrypt_password(password) ... that function cause fixture gone wild with ferret and cause the error message after I remove and put the raw password everything work fine. noelnoelu wrote:> I use acts_as_ferret to my business model, and it work very well in > development env. > However, the problem is when I try to rake db:fixtures:load, it always > show an errors > > "Mysql::Error: Unknown column ''log_file'' in ''field list'': INSERT INTO > `businesses` (`city`, `address1`, `updated_at`, `zip`, `logo`, > `busname`, `id`, `lng`, `log_file`, `port`, `description`, `fax`, > `phone`, `first_name`, `host`, `lat`, `last_name`, `log_level`, > `pid_file`, `created_at`, `state`, `email`) VALUES (''New York'', ''106 > Bayard St'', ''2008-08-26 14:28:47'', 10013, ''tonys_pizza_logo'', ''Tony\''s > Pizza'', 569266725, -74.008878, ''log/ferret_server.log'', 9010, ''The > best place to get pizza!'', ''7776662222'', ''8887772222'', ''Tony'', > ''localhost'', 40.72092, ''DiMaggio'', ''warn'', ''log/ferret.pid'', > ''2008-08-26 14:28:47'', ''NY'', ''tony-FKNpxaGXojM@public.gmane.org'')" > > My business schema does not have any one log_file, host, port, > pid_file, log_level. (I belive these field come from ferret), I think > that ferret trying to put this filed into the database with the > object. does any one know how to fix this problem. Inaddtion, the > following code is in my business model > > class Business < ActiveRecord::Base > > acts_as_ferret :fields=>[ :coupon_title, :busname], > :ferret=>{:or_default=>true} > > has_many :coupons > > private > > def coupon_title > return coupons.collect{|c| c.title}.uniq.join('' '') > end > > end-- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
I actually had the same problem, and removing all functions that generated data did not help. With some tracing, I think the problem is causing by some threading issue. But anyway, I modified (after making the file writable) fixtures.rb (on my machine in /usr/lib/ruby/gems/1.8/gems/active-record-2.1.2/lib/active_record I changed the line @connection.insert_fixture(fixture, @table_name) to: begin @connection.insert_fixture(fixture, @table_name) rescue puts "ERROR in fixtures.rb: failed to insert fixture #{fixture.to_s} into #{@table_name.to_s}" end The error message gets generated once, but now it does not stop loading my fixtures. A real solution would of course be better. But after a day of struggling I gotta get back to doing productive things Regards Nat Amontananuban wrote:> I finally solved this and this is the stupidest bug that I have ever > seen. > > The problem is that my businesses fixture have function to generate data > > > business1: > username: business1 > encrypted_password: Business.encrypt_password(password) > ... > > that function cause fixture gone wild with ferret and cause the error > message > > after I remove and put the raw password everything work fine. > > > > > noelnoelu wrote: >> I use acts_as_ferret to my business model, and it work very well in >> development env. >> However, the problem is when I try to rake db:fixtures:load, it always >> show an errors >> >> "Mysql::Error: Unknown column ''log_file'' in ''field list'': INSERT INTO >> `businesses` (`city`, `address1`, `updated_at`, `zip`, `logo`, >> `busname`, `id`, `lng`, `log_file`, `port`, `description`, `fax`, >> `phone`, `first_name`, `host`, `lat`, `last_name`, `log_level`, >> `pid_file`, `created_at`, `state`, `email`) VALUES (''New York'', ''106 >> Bayard St'', ''2008-08-26 14:28:47'', 10013, ''tonys_pizza_logo'', ''Tony\''s >> Pizza'', 569266725, -74.008878, ''log/ferret_server.log'', 9010, ''The >> best place to get pizza!'', ''7776662222'', ''8887772222'', ''Tony'', >> ''localhost'', 40.72092, ''DiMaggio'', ''warn'', ''log/ferret.pid'', >> ''2008-08-26 14:28:47'', ''NY'', ''tony-FKNpxaGXojM@public.gmane.org'')" >> >> My business schema does not have any one log_file, host, port, >> pid_file, log_level. (I belive these field come from ferret), I think >> that ferret trying to put this filed into the database with the >> object. does any one know how to fix this problem. Inaddtion, the >> following code is in my business model >> >> class Business < ActiveRecord::Base >> >> acts_as_ferret :fields=>[ :coupon_title, :busname], >> :ferret=>{:or_default=>true} >> >> has_many :coupons >> >> private >> >> def coupon_title >> return coupons.collect{|c| c.title}.uniq.join('' '') >> end >> >> end-- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---