我已经跑了rake db:migrate
我所有的迁移都运行了。然而,当我尝试跑步时rake db:test:prepare
我收到错误:
You have 1 pending migrations:
20130724211328 CreateGalleries
Run `rake db:migrate` to update your database then try again.
然后运行rake db:migrate
再次给出错误:
PG::Error: ERROR: relation "galleries" already exists...
但在控制台中,我可以完全按照 CreateGalleries 迁移中所示的方式创建和操作 Gallery 模型。该表没有被创建,甚至没有在任何其他迁移中被提及。
看来迁移运行得很好,但没有注册。任何想法如何解决这一问题?
EDIT
我解决了这个问题rake db:drop db:create db:migrate
then rake db:test:prepare
,但我很高兴为任何能够阐明问题根源的人提供解决方案。
我怀疑画廊的迁移没有正确执行。如果您 100% 确定表中的所有内容都正确,则可以将迁移版本升级到图库迁移版本。
为此,请找到图库迁移的时间戳(迁移文件前面的 14 个数字,在本例中为20130724211328
)并将其作为新行插入表中schema_migrations
(成功执行迁移后由 Rails 自动完成)。
如果表是空的,您也可以删除表galleries
并运行rake db:migrate
再次。这样您还可以确保迁移不会触发任何错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)