MySQL Rails迁移错误:“重命名schema_migration时出错(错误号:-1)”

时间:2009-11-08 12:58:20

标签: mysql ruby-on-rails ruby rubygems

我是一个PHP开发人员,我是Rails的新手,但一直都很顺利,一切看起来都非常简单。然而,直到今天早上我一直在使用SQLite并决定将我正在构建的内容移动到MySQL。 rake db:create完美地运行,但是当我尝试rake db:migrate时,我收到以下错误:

  耙子流产了!   Mysql ::错误:错误   重命名   ” ./test_development/schema_migrations'   到'./test_development/#sql2-c7b-c'   (错误:-1):创建独特的索引   unique_schema_migrations ON   schema_migrationsversion

在我的迁移脚本中认为它可能是一个错误,我用最简单的表创建了一个干净的rails项目,并得到了同样的错误。所以,我重新安装了MySQL和mysql gem,以确保它们不会出现任何问题,而我仍然没有运气。这是我正在运行的版本:

  • Rails 2.3.4
  • Ruby 1.8.6
  • MySQL 5.1.40
  • MySQL Gem 2.8.1

我觉得它可能与InnoDB有关,因为我在这个盒子之前遇到过这个引擎的问题。但是,如果有人能帮助我,我会非常感激,因为它阻止了我的进步。

谢谢,

基兰

更新: 按照菲尔的要求,结果如下:

SHOW ENGINE INNODB STATUS

SHOW VARIABLES LIKE 'innodb%'

1 个答案:

答案 0 :(得分:4)

您已将innodb_force_recovery选项设置为6.这可能会从默认值0更改为修复先前的问题。在此模式下,InnoDB不允许除SELECTCREATE TABLEDROP TABLE以外的任何内容。

尝试关闭MySQL,然后编辑my.cnf文件。将innodb_force_recovery设置为0(或删除该选项),然后重新启动MySQL。