之后得心应手schema_migration情况从中删除

31分钟前,我去到MySQL和我用它在回报率的数据库。 然后我去schema_migration和I型

DELETE FROM schema_migration WHERE version=20120110152044;

做这项工作后,我型rake db:migrate和我想到的是,我删除了一些分钟前将被添加在迁移到schema_migration再次,但我面对这样的信息:

“MySQL2 ::错误表”football_leagues'已经存在......“

谁能告诉我这个消息的原因是什么?

--------------解决方案-------------

您20120110152044迁移大概创建football_leagues的东西如表:

create_table :football_leagues do |t|
#...

upchange方法。 从本条目schema_migrations表将不会回滚迁移,它只是改变在哪里做哪些迁移的记录。 你可能需要返回到MySQL,丢弃football_leagues手工表:

mysql> drop table football_leagues;

如果你需要保持football_leagues周围那么你就必须改变你的迁移不尝试创建football_leagues一次。

你可以用rake db:rollback回滚,而不是试图编辑迁移schema_migrations手,编辑schema_migrations如果你确信你知道自己在做什么只应做的。

我不想听起来光​​顾,却是因为你试图当它已经存在创建一个表中调用football_leagues。 运行rake db:drop db:migrate ,删除表(与数据库中的任何其它表),然后重新运行迁移,您将失去在该数据库中的所有数据。

分类:MySQL的 时间:2015-03-15 人气:3
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.042 (s). 10 q(s)