MySQL Rails迁移错误:“重命名schema_migration时出错(错误号:-1)”
作者:互联网
我是一个PHP开发人员,我是Rails的新手,但是进展顺利,一切似乎都非常简单.但是,直到今天早上,我一直在使用SQLite,并决定将自己构建的内容移至MySQL. rake db:create可以完美地工作,但是当我尝试rake db:migrate时,出现以下错误:
rake aborted!
Mysql::Error: Error on
rename of
‘./test_development/schema_migrations’
to ‘./test_development/#sql2-c7b-c’
(errno: -1): CREATE UNIQUE INDEX
unique_schema_migrations
ON
schema_migrations
(version
)
考虑到迁移脚本中可能存在错误,我使用最简单的表创建了一个干净的Rails项目,并得到了相同的错误.因此,我重新安装了MySQL和mysql gem,以确保它们都没有问题,并且我仍然没有运气.这是我正在运行的版本:
>导轨2.3.4
> Ruby 1.8.6
> MySQL 5.1.40
> MySQL Gem 2.8.1
我觉得这可能与InnoDB有关,因为在此框上,我对该引擎有问题.但是,如果有人可以帮助我,我将不胜感激,因为它阻止了我前进.
谢谢,
基兰
更新:
根据Phil的要求,结果如下:
和
解决方法:
您已将innodb_force_recovery选项设置为6.这可能已从默认值0更改为解决早期问题.在此模式下,InnoDB除了SELECT,CREATE TABLE和DROP TABLE外,将不提供任何其他功能.
尝试关闭MySQL,然后编辑my.cnf文件.将innodb_force_recovery设置为0(或删除该选项),然后重新启动MySQL.
标签:rubygems,ruby,ruby-on-rails,mysql 来源: https://codeday.me/bug/20191107/2002421.html