Ruby on rails 向我已经在SQLite中创建的表添加索引?

Ruby on rails 向我已经在SQLite中创建的表添加索引?,ruby-on-rails,ruby,database,ruby-on-rails-3,Ruby On Rails,Ruby,Database,Ruby On Rails 3,嗨,我为我正在做的wiki应用程序创建了一个表。一开始很简单,我有一个问题表和一个答案表。我现在想向它添加用户。为此,我创建了一个users表,整个注册工作已经准备就绪。wiki部分正在工作,用户部分正在工作,但我很难将它们合并在一起 我首先创建了一个问题作为脚手架,如下所示: rails g scaffold Question title:string body:string rails g scaffold Answer question_id:integer content

嗨,我为我正在做的wiki应用程序创建了一个表。一开始很简单,我有一个问题表和一个答案表。我现在想向它添加用户。为此,我创建了一个users表,整个注册工作已经准备就绪。wiki部分正在工作,用户部分正在工作,但我很难将它们合并在一起

我首先创建了一个问题作为脚手架,如下所示:

   rails g scaffold Question title:string body:string 
   rails g scaffold Answer question_id:integer content:string
然后回答如下:

   rails g scaffold Question title:string body:string 
   rails g scaffold Answer question_id:integer content:string
创建users表后,我尝试添加users\u id列:

   rails generate migration add_users_id_to_questions user_id:integer
然后,我尝试通过在迁移文件中添加以下行来索引user_id列:

   class AddUserIdToQuestions < ActiveRecord::Migration
      def change
        add_column :questions, :user_id, :integer
      end
        add_index :questions, :user_id
   end
class AddUserIdToQuestions
我确实执行了rake:db迁移,但在运行迁移后,它没有显示更改。除了向迁移文件中添加列之外,还有其他方法可以为用户_id编制索引吗。我甚至运行了rake db:rollback,这样就不需要添加user\u id列了,但是当我进行更改并运行rake db:migrate时,它会给我一个错误,即user\u id不存在。如果您能帮助我创建索引,我将不胜感激。我运行Rails 3,SQLite作为我的数据库。
多谢各位

回滚,然后在
change
块中使用
add_index
重新运行迁移

class AddUserIdToQuestions < ActiveRecord::Migration
  def change
    add_column :questions, :user_id, :integer
    add_index :questions, :user_id
  end
end
class AddUserIdToQuestions
您是否尝试在xhange方法中调用add_index?