【问题标题】:Rails add_test_data migrationRails add_test_data 迁移
【发布时间】:2009-11-17 11:25:40
【问题描述】:

刚读完《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、Ruby 1.8.6、Rails 2.3.4,我在 Windows 上开发(畏缩)

【问题讨论】:

    标签: ruby-on-rails migration sqlite


    【解决方案1】:

    由于您使用的是 2.3.4,我将使用 db:seed 添加种子数据。

    除此之外,我会尝试重命名您的 sqlite 数据库并针对空数据库再次运行 rake db:migrate。您可能必须创建一个新的空 development.sqlite3。

    如果这些都不适合您,那么发布迁移内容会有所帮助。

    【讨论】:

    • 嗨,安迪,为提示干杯,我将代码从迁移转移到了seeds.rb。事实证明,代码无声无息地失败了,因为我使用 create 而不是 create 创建记录! (这就是 Railscasts 的人所做的)。根据跟踪,我之前编写的一些验证代码中有错字。问题解决了!啊,购物车应用的美妙世界:/
    猜你喜欢
    • 2010-10-16
    • 1970-01-01
    • 2012-08-18
    • 2011-09-27
    • 1970-01-01
    • 2014-03-24
    • 2020-10-28
    • 2015-03-01
    • 2011-10-02
    相关资源
    最近更新 更多