2013-03-25 23 views
5

i tohum oluştuğunda ben rastgele bir NoMethodError: undefined method 'fields' for nil:NilClass olsuntırmık tanımsız yöntem `alanları: NilClass veritabanı tohum

rake db:reset 

veya

rake db:drop 
rake db:create 
rake db:schema:load 
rake db:seed 

yapmaya çalıştığınızda. İşte biri:

[1m[35m (186.0ms)[0m INSERT INTO "schema_migrations" (version) VALUES ('20130318105449') 
[1m[36m (187.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('20130319154146')[0m 
[1m[35m (189.0ms)[0m INSERT INTO "schema_migrations" (version) VALUES ('20130322132730') 
[1m[36m (104.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('20130322142814')[0m 
NoMethodError: undefined method `fields' for nil:NilClass:    SELECT COUNT(*) 
      FROM pg_class c 
      LEFT JOIN pg_namespace n ON n.oid = c.relnamespace 
      WHERE c.relkind in ('v','r') 
      AND c.relname = 'schema_migrations' 
      AND n.nspname = ANY (current_schemas(false)) 

İşte bir diğeri var: Bu gelen edilebilir nerede gerçekten anlamıyorum

[1m[35m (39.0ms)[0m BEGIN 
[1m[36mCategory Exists (107.0ms)[0m [1mSELECT 1 AS one FROM "categories" WHERE "categories"."hash" = 'cat1' LIMIT 1[0m 
[1m[35mSQL (124.0ms)[0m INSERT INTO "categories" ("category_id", "created_at", "label", "hash", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id" [["category_id", 58], ["created_at", Mon, 25 Mar 2013 15:07:53 CET +01:00], ["label", "Cat1"], ["hash", "cat1"], ["updated_at", Mon, 25 Mar 2013 15:07:53 CET +01:00]] 
[1m[36m (117.0ms)[0m [1mCOMMIT[0m 
[1m[35m (162.0ms)[0m BEGIN 
[1m[36mCategory Exists (136.0ms)[0m [1mSELECT 1 AS one FROM "categories" WHERE "categories"."hash" = 'cat2' LIMIT 1[0m 
[1m[35mSQL (104.0ms)[0m INSERT INTO "categories" ("created_at", "label", "hash", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["created_at", Mon, 25 Mar 2013 15:07:53 CET +01:00], ["label", "Cat2"], ["hash", "cat2"], ["updated_at", Mon, 25 Mar 2013 15:07:53 CET +01:00]] 
[1m[36m (99.0ms)[0m [1mCOMMIT[0m 
[1m[35m (108.0ms)[0m BEGIN 
[1m[36mCategory Exists (173.0ms)[0m [1mSELECT 1 AS one FROM "categories" WHERE "categories"."hash" = 'cat3' LIMIT 1[0m 
NoMethodError: undefined method `fields' for nil:NilClass: SELECT 1 AS one FROM "categories" WHERE "categories"."hash" = 'cat3' LIMIT 1 

. Bazen bir hatam bile yok ve her şey mükemmel şekilde yerleştirilmiş. Bazı testler yaptıktan sonra, ekleme hızına bağlı olduğu görülmektedir. Bunu geliştirme sunucumdan yürütürsem hemen hemen her zaman başarılı olur. Bunu bilgisayarımdan uzaktan çalıştırırsam, neredeyse her zaman başarısız olur.

Geliştirme sunucumda yakut 1.9.3 yerel ve yakut 2 kullanıyorum. Her ikisinde de raylar4 (kenar) kullanıyorum ve sürücüm postgresql (pg, belirtilen bir sürüm değil)

cevap

12

Bu problemi raylar4 (kenar) ve postgres üzerinde de yaşıyorum. Ben bir solr: reindex üzerinde koşuyorum, bu yüzden kesinlikle herhangi bir şekilde eklemeleri ile ilgili olduğunu sanmıyorum. Neyin yanlış gittiğini anladığımda bunu güncelleyeceğim.

Düzenleme: Düzeltmeleri yeniden deneyin Güncelleştirme 1a838ccda4a31bb023985f6c977e6bc3e238cda9, bu sorunu çözdü.

Bunun üzerinde github konudur: Hızlı git bisect sonra https://github.com/rails/rails/issues/9710

ben buldum. Kesinlikle git şimdi sabit.

+0

Genellikle bunu yorum olarak eklersiniz. Bunu görebilmeniz ilk mesajınızdır, bunu ekleyeceğim, böylece yorum ekleme yeteneği kazanacaksınız. Stackoverflow'a Hoş Geldiniz! : -D –

+0

Ah, başınız için teşekkürler. Görgü kurallarını bilmek güzel. Sorun giderildiği sırada, bir projenin (1..10000) .each {Foobar.first} 'i kullanarak projemde kullandığım aynı revizyonu kullanarak hatayı yeniden oluşturabiliyordum. Test projemi 1a838ccda4a31bb023985f6c977e6bc3e238cda9 sürümüne güncelledim ve sorun giderildi. Projemi aynı revizyona güncellediğimde, sorunun çözülmesi gerektiğine eminim. –

+0

Gerçekten de! Son güncelleme bu sorunu çözmüş görünüyor. – Crystark

İlgili konular