gpt4 book ai didi

mysql - db :schema:dump on RDS with mysql. 错误:无法转储表 "",因为以下 NoMethodError 未定义方法 `type' for "int(11)":String

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

设置:

rails: 4.2.5.1
ruby: 2.2.4p230 (2015-12-16 revision 53155) [i386-mingw32]
windows 7 environment

数据库.yml:

default: &default
adapter: mysql2
encoding: utf8
database: "database"
username: "name"
password: "password"
host: "host"
port: 3306

development:
adapter: mysql2
encoding: utf8
database: "database"
username: "name"
password: "password"
host: "host"
port: 3306

我正在尝试使用 RDS 上现有的 mysql 数据库。我使用
创建了一个新项目 rails new "app"然后尝试获取数据库架构。当我运行时
ruby bin\rake db:schema:dump对于数据库中的每个表,我的 schema.rb 文件中的输出都充满了相同的错误:

ActiveRecord::Schema.define() do
# Could not dump table "test" because of following NoMethodError
# undefined method `type' for "int(11)":String
end

我一开始以为可能是因为int(11)是64位整数,后来了解到int(11)中的“11”指的是显示大小,而且它仍然是32位整数。

任何人都可以解释为什么会发生这种情况,或者为什么 ruby​​ 无法识别主键列的 32 位整数类型。

最佳答案

我认为您的数据库中有一个名为“type”的字段。“type”是rails中的保留字(特别是数据库)。

解决方案:更改该字段的名称

例如:“类型”=>“类型更多”

check this

关于mysql - db :schema:dump on RDS with mysql. 错误:无法转储表 "",因为以下 NoMethodError 未定义方法 `type' for "int(11)":String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40287809/

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