首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迁移不运行

迁移不运行
EN

Stack Overflow用户
提问于 2016-09-04 01:35:26
回答 1查看 76关注 0票数 0

嘿,伙计们,我想把twitter-oauth功能添加到我的工作中。我安装了“无所不在的推特”创业板。当我试图运行我的迁移时,这是错误消息

代码语言:javascript
复制
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)

这是我的迁移文件

代码语言:javascript
复制
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

请知道如何解决这一问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-04 01:52:49

您需要将add_index命令放在create_table之后

代码语言:javascript
复制
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
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39312797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档