获取SQLite3 :: SQLException:Rails Tutorial的示例应用程序没有这样的表错误

时间:2014-12-17 06:28:58

标签: ruby-on-rails sqlite railstutorial.org

我正在尝试在Rails Tutorial第3版中构建示例应用程序。在第11章,它首先为微博添加一个新模型。但是,在运行迁移时,它会抛出错误

== 20141212145132 CreateEntries:迁移==================================== - create_table(:microposts) - add_index(:microposts,[:user_id,:created_at]) 耙子流产了! StandardError:发生错误,此以及所有后续迁移都已取消:

SQLite3 :: SQLException:没有这样的表:main.microposts:CREATE INDEX" index_entries_on_user_id_and_created_at" ON"微博" (" user_id"," created_at")/

2 个答案:

答案 0 :(得分:2)

尝试更改这些行

class CreateMicroposts < ActiveRecord::Migration  # <==== convention 
  def change 
    create_table :microposts do |t| 
      t.text :content 
      t.references :user, index: true 
      t.timestamps 
      t.index [:user_id, :created_at]  # <=== 
    end 
  end 
end

答案 1 :(得分:1)

好的,我现在知道我做错了什么。

我在“def change”结束时添加了“添加索引”而不是之后。这是现在正在运行的代码......

class CreateEntries < ActiveRecord::Migration
  def change
    create_table :entries do |t|
      t.text :content
      t.references :user, index: true

      t.timestamps
    end
  add_index :entries, [:user_id, :created_at]
  end
end