具有预先存在的MySQL数据库的模式转储导致NoMethodError

时间:2016-01-16 02:32:27

标签: mysql ruby-on-rails schema dumping

我一直在尝试使用现有的MySQL数据库使用新的Rails项目进行模式转储。这是我在database.yml文件中的设置:

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: username_example
  password: password_example
  host: localhost
  socket: /tmp/mysql.sock

development:
  <<: *default
  database: databasename

我将以下宝石添加到我的Gemfile并捆绑:

gem 'mysql2'
gem 'activerecord-mysql2-adapter'

使用命令rake db:schema:dump后,我的架构文件中出现以下错误:

ActiveRecord::Schema.define(version: 0) do

# Could not dump table "tablename" because of following NoMethodError
#   undefined method `type' for "text":String

end

关于如何解决这个问题的任何想法都将非常感谢,谢谢!

1 个答案:

答案 0 :(得分:0)

我发现是MySql版本弄乱了转储。我还删除了activerecord mysql适配器 我改变了我的gemfile并且转储工作完美:

gem 'mysql2', '~> 0.3.13'