这个 Ruby on Rails 迁移有什么问题?

3

我想将 Ruby on Rails 应用从一台机器迁移到另一台机器,当我输入 Rake db:migrate 时,它会出现以下错误:

Mysql::Error: Table 'schema_migrations' already exists:
CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB

可能的原因是什么?

1
请检查您的config/database.yaml文件和相应的模式。 - glebm
1
原因不明显吗?你的错误消息中已经说了:“表'schema_migrations'已经存在”。 - Mischa
1
schema_migrations不是我使用的表的一部分,它是rake/rails内置的用于执行数据库迁移的表。 - rushi
3个回答

8

如Bohdan所述...

或者

rake db:migrate:reset

2

嗨,尝试执行rake db:drop rake db:create rake db:migrate


请注意,这将会删除您的数据库中的信息。 - Simpleton

1

在我的情况下,仅仅删除和创建数据库是没有用的。尝试重启mysql服务器:

/etc/init.d/mysqld restart
/etc/init.d/mysql restart
service mysqld restart

(根据您运行的操作系统),然后:
rake db:reset && rake db:test:clone

附言:如果您正在使用任何预装的工具,如 zeusguard,请尝试在不使用它们的情况下运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接