Rake DB: ошибка переноса «не знаю, как построить задачу»
У меня есть таблица, в которой я использовал целое число в поле, которое требует десятичных знаков, поэтому я пытаюсь создать миграцию, которая меняет тип поля с целого на float / real. Моя база данных - sqllite3, и я использую rails3.
Я побежал
rails generate migration ChangeMeasureColumnOnIngredients
чтобы создать исходные файлы миграции, затем обновил класс до
class ChangeMeasureColumnOnIngredients < ActiveRecord::Migration def self.up change_column :ingredients, :measure, :real end
Я запустил rake db: migrate, и он вернулся нормально.
Когда я вставил значение через приложение 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, но я все еще получаю эту ошибку.
может кто-нибудь сказать мне, что я делаю не так? Я новичок в рельсах и все еще учусь.