2009-11-17 106 views
0

只是通過敏捷Web開發與Rails書籍和附近本書的結束幾章我不得不回滾數據庫幾次使用db:migrate VERSION = 0,然後是db:migrate命令。但是,在從頭開始重新引入數據庫後,add_test_data遷移無法像以前成功完成一樣將測試條目添加到數據庫。有任何想法嗎?即時得到的研發日誌中的以下Rails的add_test_data遷移

Migrating to AddTestData (20091111225948) [4;36;1mSQL (0.0ms)[0m [0;1mselect sqlite_version(*)[0m

[4;35;1mProduct Load (1.0ms)[0m [0m SELECT "products".id FROM "products" WHERE ("products"."title" = 'Pragmatic Project Automation') LIMIT 1[0m

[4;36;1mProduct Load (0.0ms)[0m [0;1mSELECT "products".id FROM "products" WHERE ("products"."title" = 'Pragmatic Version Control') LIMIT 1[0m

[4;35;1mProduct Load (1.0ms)[0m [0mSELECT "products".id FROM "products" WHERE ("products"."title" = 'Pragmatic Unit Testing (C#)') LIMIT 1[0m

[4;36;1mSQL (1.0ms)[0m [0;1mINSERT INTO schema_migrations (version) VALUES ('20091111225948')[0m

的數據庫是sqlite3的,紅寶石1.8.6,Rails的2.3。 4和即時通訊在Windows上開發(cringe)

回答

0

由於您使用的是2.3.4,我會使用db:seed添加種子數據。

簡而言之,我會嘗試重命名您的sqlite數據庫並運行rake數據庫:再次針對空數據庫進行遷移。您可能必須創建一個新的空的development.sqlite3。

如果這些都不適合您發佈遷移的內容將有所幫助。

+0

嗨安迪, 歡呼的提示,我轉移到遷移到seeds.rb代碼。事實證明,代碼失敗了,因爲我使用create來創建記錄而不是創建! (這就是Railscasts傢伙所做的)。根據追蹤,我在之前編寫的一些驗證代碼中有一個錯字。問題解決了!啊,購物車應用程序的奇妙世界:/ – gcahill 2009-11-17 15:28:03