Ruby on rails 向我已经在SQLite中创建的表添加索引?
嗨,我为我正在做的wiki应用程序创建了一个表。一开始很简单,我有一个问题表和一个答案表。我现在想向它添加用户。为此,我创建了一个users表,整个注册工作已经准备就绪。wiki部分正在工作,用户部分正在工作,但我很难将它们合并在一起 我首先创建了一个问题作为脚手架,如下所示: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
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?