Ruby on rails 表rails_project.users和#x27;t exist:显示来自用户的完整字段
我一直在尝试将当前rails应用程序的db从sqlite迁移到MYSQL。 我已经在database.yml文件中进行了更改。但是我已经运行过很多次rake:db-create和migrate,但是没有什么不适合我 最后我出现了一个错误,声明“表'rails\u project.users'不存在:显示来自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_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吗?