嘿,伙计们,我想把twitter-oauth功能添加到我的工作中。我安装了“无所不在的推特”创业板。当我试图运行我的迁移时,这是错误消息
C:\Sites\omniauth-tutorial>rake db:migrate
== 20160904075837 CreateUsers: migrating ======================================
-- create_table(:users)
-- add_index(:users, :provider)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: no such table: main.users: CREATE INDEX "index_users_on_
provider" ON "users" ("provider")
C:/Sites/omniauth-tutorial/db/migrate/20160904075837_create_users.rb:10:in `block in change'
C:/Sites/omniauth-tutorial/db/migrate/20160904075837_create_users.rb:3:in `change'
C:in `migrate' ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table:
main.users: CREATE INDEX "index_users_on_provider" ON "users"("provider")
C:/Sites/omniauth-tutorial/db/migrate/20160904075837_create_users.rb:10:in `block in change'
C:/Sites/omniauth-tutorial/db/migrate/20160904075837_create_users.rb:3:in `change'
C:in `migrate'
SQLite3::SQLException: no such table: main.users
C:/Sites/omniauth-tutorial/db/migrate/20160904075837_create_users.rb:10:in `block in change'
C:/Sites/omniauth-tutorial/db/migrate/20160904075837_create_users.rb:3:in `change'
C:in `migrate'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)这是我的迁移文件
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :provider, null: false
t.string :uid, null: false
t.string :name
t.string :location
t.string :image_url
t.string :url
add_index :users, :provider
add_index :users, :uid
add_index :users, [:provider, :uid], unique: true
t.timestamps null: false
end
end
end请知道如何解决这一问题吗?
发布于 2016-09-04 01:52:49
您需要将add_index命令放在create_table之后
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :provider, null: false
t.string :uid, null: false
t.string :name
t.string :location
t.string :image_url
t.string :url
t.timestamps null: false
end
add_index :users, :provider
add_index :users, :uid
add_index :users, [:provider, :uid], unique: true
end
endhttps://stackoverflow.com/questions/39312797
复制相似问题