新手问题 rails 数据迁移问题

tank_lei · 2013年11月07日 · 最后由 zjyzxun 回复于 2015年04月16日 · 4884 次阅读

通过 powerdesigner 设计的数据库,然后直接导入到数据库 但 rails 里运行的时候出现错误: ``` Migrations are pending; run 'rake db:migrate RAILS_ENV=development' to resolve this issue.

提示我需要迁移 因为数据库表已经存在,即使迁移的话,也有错误,无法访问 这个怎么解决?

手动删掉

#1 楼 @doitian 删掉是指什么?把数据库删了?

把 db/migrate 下的文件删除跑 db:migrate 应该就可以了

他就是检查一下你的这个目录下有没有文件还没跑(在 schema_migrations 表里有没有这个文件的记录)自己看一下这个表的内容就明白了

因为你数据库已经有这张表了,如果你要创建的是一样的表,也没有数据需要保留,就手到在数据库里删除掉,然后跑下 migration。如果想保留,也可以先把 db/migrate 下相应的创建表的行注释掉,跑完后再注释回来。如果还是觉得麻烦,而且你确定当前数据库不用跑任何 migration 就是最新的状态,也可以直接手动在数据库的 schema_migrations 里添加记录。这张表里记录的是所有已经执行过的 migration 的版本,也就是文件名最开始的那一串时间戳。

#3 楼 @ZombieCoder 恩,就是这么解决的,删除 db/migrate的文件,就可以了!

这个问题提出来很久了 但是还是在这里回答一下,以后看到的人可以作为参考

我是用 rake db:reset 解决问题的。如果遇到可以试试。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号