gpt4 book ai didi

mysql - rake db :migrate 的问题

转载 作者:行者123 更新时间:2023-11-29 14:02:25 25 4
gpt4 key购买 nike

我是这个 Rails 的初学者。我正在努力工作修复以下错误

C:\library>rake db:migrate --trace
(in C:/library)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
== CreateBooks: migrating
====================================================
-- create_table(:books)
rake aborted!
An error has occurred, all later migrations canceled:

Mysql::Error: Table 'books' already exists: CREATE TABLE `books` (`id`
int(11) D
EFAULT NULL auto_increment PRIMARY KEY, `created_at` datetime,
`updated_at` date
time) ENGINE=InnoDB

我手动删除了所有未能解决问题的表现在使用了 rake db:drop db:create db:migrate 但仍然得到 rake中止消息..

C:\library>rake db:drop db:create db:migrate

(in C:/library)
rake aborted!
Mysql::Error: Specified key was too long; max key length is 767 bytes:
CREATE UN
IQUE INDEX `unique_schema_migrations` ON `schema_migrations` (`version`)

而且我没有 schema.rb 文件。

最佳答案

第一条消息可能是迁移失败但未正确撤消的结果。最好在执行迁移之前拍摄数据库快照,以便在出现问题时可以恢复到已知良好的配置。

第二条消息表明您正在尝试在“太大”的字段上创建索引,而 MySQL 无法执行此操作。由于 MySQL 处理 UTF-8 字符的方式,每个字符都分配三个字节的键空间。这意味着任何超过 255 个字符的内容都需要给出长度限制,否则它将无法工作,至少在提示它的 MySQL 版本中是这样。

看起来奇怪的是它试图构建 schema_migrations 表并失败。您的 MySQL 配置是否有任何异常可能会触发此问题?是旧版本吗?建议使用 5.5 或更高版本。

关于mysql - rake db :migrate 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14868490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com