我是一个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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。