我一直在尝试将当前rails应用程序的db从sqlite移动到MYSQL。 我在database.yml文件中进行了更改。但是我曾多次运行rake:db create and migrate,但没有什么对我不起作用。
我最终在错误中声明“表'rails_project.users'不存在:显示来自users
的完整字段。”
我的数据库名称是rails_project,我正在使用设备验证,其中表名是用户。
我对这个问题非常沮丧。
任何人都可以帮助我吗?
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 => ""
答案 0 :(得分:0)
这意味着您在定义其表之前尝试使用某些东西,在我的情况下,我尝试在factories.rb中使用一些代码:
Assesment.new.questions ...
因此,当我在rake db:schema:load
期间在travis上运行我的代码时,所有代码都被解释,并且在该部分中它得到了相同的错误,解决方案是:
在定义表格之前避免使用模型
对{
和}
使用延迟语法换行,至少在FactoryGirl中使用
只是试着仔细阅读日志,看你的代码行是否触发了错误