Ruby on rails 表rails_project.users和#x27;t exist:显示来自用户的完整字段

Ruby on rails 表rails_project.users和#x27;t exist:显示来自用户的完整字段,ruby-on-rails,devise,Ruby On Rails,Devise,我一直在尝试将当前rails应用程序的db从sqlite迁移到MYSQL。 我已经在database.yml文件中进行了更改。但是我已经运行过很多次rake:db-create和migrate,但是没有什么不适合我 最后我出现了一个错误,声明“表'rails\u project.users'不存在:显示来自用户的完整字段” 我的数据库名是rails_project,我正在使用designe身份验证,其中表名是users 我对这个问题很失望 有人能帮我吗 database.yml: develop

我一直在尝试将当前rails应用程序的db从sqlite迁移到MYSQL。 我已经在database.yml文件中进行了更改。但是我已经运行过很多次rake:db-create和migrate,但是没有什么不适合我

最后我出现了一个错误,声明“表'rails\u project.users'不存在:显示来自
用户的完整字段”

我的数据库名是rails_project,我正在使用designe身份验证,其中表名是users

我对这个问题很失望

有人能帮我吗

database.yml:

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: rails_project
  pool: 5
  username: root
  password: root
  host : localhost
  socket: /var/run/mysqld/mysqld.sock 
test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: rails_project
  pool: 5
  username: root
  password: root
  host : localhost
  socket: /var/run/mysqld/mysqld.sock     
production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: rails_project
  pool: 5
  username: root
  password: root
  host : localhost
  socket: /var/run/mysqld/mysqld.sock 
迁移的文件:

   class DeviseCreateUsers < ActiveRecord::Migration
    def change
      create_table(:users) do |t|
      ## Database authenticatable
      t.string :email,              :null => false, :default => ""
      t.string :encrypted_password, :null => false, :default => ""
classdeveliecCreateUsersfalse,:default=>
t、 字符串:加密密码,:null=>false,:default=>

这意味着您在定义某个表之前尝试使用它,在我的例子中,我尝试在Factorys中使用一些代码。rb:

 Assesment.new.questions ...
所以,当我在travis上运行代码时,
rakedb:schema:load
会解释所有代码,在这一部分中,它会得到相同的错误,解决方案是:

  • 在定义模型表之前,避免使用模型

  • {
    }
    中使用惰性语法包装,至少在FactoryGirl中使用


只是试着仔细阅读日志,看看您的代码行是否触发了错误

添加您的数据库。yml content您是否确实进行了迁移以创建用户表?您的所有环境都在同一个数据库中?@MaxWilliams我有一个名为users.rb的迁移,但我仍然得到表exists错误。我在数据库中没有任何表。您可以将迁移的内容发布为users.rb吗?