我有一个表,我在需要小数位的字段上使用整数,所以我试图创建一个迁移,它改变字段类型从整数到浮点/实数。我的数据库是sqllite3,我正在使用rails3。Rake db:迁移错误“不知道如何构建任务”
我跑
rails generate migration ChangeMeasureColumnOnIngredients
创建初始迁移文件,然后更新类
class ChangeMeasureColumnOnIngredients < ActiveRecord::Migration def self.up change_column :ingredients, :measure, :real end
我跑耙分贝:迁移和它返回的罚款。
当我通过我的rails应用程序插入一个值时,它没有返回小数位。我开始想,许多轨不知道什么是“真实”是作为一个数据类型,所以我改变了迁移
change_column :ingredients, :measure, :float
然后我跑
rake db:migrate change_measure_column_on_ingredients现在
c:\Ruby192\rails3rc>rake db:migrate change_measure_column_on_ingredients (in c:/Ruby192/rails3rc) rake aborted! Don't know how to build task 'change_measure_column_on_ingredients' C:/Ruby192/lib/ruby/1.9.1/rake.rb:1720:in[]' C:/Ruby192/lib/ruby/1.9.1/rake.rb:2040:in
invoke_task' C:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:inblock (2 levels) in top_level' C:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:in
each' C:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:inblock in top_level' C:/Ruby192/lib/ruby/1.9.1/rake.rb:2058:in
standard_exception_handling' C:/Ruby192/lib/ruby/1.9.1/rake.rb:2013:intop_level' C:/Ruby192/lib/ruby/1.9.1/rake.rb:1992:in
run' C:/Ruby192/bin/rake:31:in `'
我想我得到以下错误将:float更改为:real,但我仍然遇到该错误。
有人可以告诉我我做错了什么吗? 我是新来的铁路和仍在学习。