如何将数据库添加到SQLite3数据库? 我总是得到这个错误。
ActiveRecord::StatementInvalid in Timespans#index
Showing C:/xampp/htdocs/fluxcapacitor/app/views/timespans/index.html.erb where line #19 raised:
SQLite3::SQLException: no such table: timespans: SELECT "timespans".* FROM "timespans"
我尝试将我的表格添加到schema.rb
,但它不起作用。当我运行
rake db:migrate RAILS_ENV=development
答案 0 :(得分:3)
您应该生成migration:
bundle exec rails g migration create_timespans
在迁移中,您应该:
class CreateTimespans < ActiveRecord::Migration
def change
create_table :timespans
t.string :column1
t.string :column2
# ...
end
end
end
并使用bundle exec rake db:migrate
运行它。
这是在Rails应用程序中对数据库模式进行更改的正确方法。
答案 1 :(得分:2)
您希望使用迁移来更改数据库。有关详细信息,请参阅the Active Record Migrations guide。
一般来说,这个过程就像:
rails generate migration create_timespans
为您生成空迁移。schema.rb
中添加的内容非常相似。rake db:migrate
然后将这些更改应用于数据库。