Rake db: Migrationsfehler "weiß nicht, wie man eine Aufgabe erstellt"

Ich habe eine Tabelle, in der ich eine Ganzzahl für ein Feld verwendet habe, für das Dezimalstellen erforderlich sind. Daher versuche ich, eine Migration zu erstellen, bei der der Feldtyp von Ganzzahl in Gleitkommazahl / Real geändert wird. Meine Datenbank ist sqllite3 und ich verwende Rails3.

Ich rannt

rails generate migration ChangeMeasureColumnOnIngredients

zum Erstellen der anfänglichen Migrationsdateien und Aktualisieren der Klasse auf

class ChangeMeasureColumnOnIngredients < ActiveRecord::Migration
  def self.up
    change_column :ingredients, :measure, :real
  end

Ich habe rake db: migrate ausgeführt und es ist in Ordnung.

Wenn ich einen Wert über meine Rails-App eingegeben habe, wurde die Dezimalstelle nicht zurückgegeben. Ich fing an zu glauben, dass viele Rails nicht wissen, was "real" als Datentyp ist, also habe ich die Migration auf @ geänder

change_column :ingredients, :measure, :float

Ich lief dann

rake db:migrate change_measure_column_on_ingredients
und jetzt bekomme ich den folgenden Fehler
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:ininvoke_task'
C:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:in block (2 levels) in top_level'
C:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:ineach'
C:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:in block in top_level'
C:/Ruby192/lib/ruby/1.9.1/rake.rb:2058:instandard_exception_handling'
C:/Ruby192/lib/ruby/1.9.1/rake.rb:2013:in top_level'
C:/Ruby192/lib/ruby/1.9.1/rake.rb:1992:inrun'
C:/Ruby192/bin/rake:31:in `'

Ich habe versucht, das: float zurück zu: real zu ändern, aber ich erhalte immer noch diesen Fehler.

kann mir jemand sagen, was ich falsch mache? Ich bin neu in Rails und lerne noch.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage