刚读完“Agile Web Development with Rails”这本书,在接近该书的最后几章时,我不得不使用db:migrate VERSION=0回滚数据库几次,然后使用db:migrate命令。但是,在从头开始恢复数据库时,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,ruby1.8.6,Rails 2.3.4和im在Windows (cringe)上开发。
发布于 2009-11-17 22:09:45
由于您使用的是2.3.4,因此我将使用db:seed来添加种子数据。
否则,我会尝试重命名您的sqlite数据库,并针对一个空数据库再次运行rake :migrate。您可能需要创建一个新的空development.sqlite3。
如果这两种方法都不起作用,那么发布迁移的内容会有所帮助。
https://stackoverflow.com/questions/1748212
复制相似问题