Rake db: error de migración "no sé cómo crear una tarea"
Tengo una tabla donde usé entero en un campo que necesita lugares decimales, así que estoy tratando de crear una migración que cambie el tipo de campo de entero a flotante / real. Mi base de datos es sqllite3 y estoy usando rails3.
corrí
rails generate migration ChangeMeasureColumnOnIngredients
para crear los archivos de migración iniciales, luego actualicé la clase a
class ChangeMeasureColumnOnIngredients < ActiveRecord::Migration def self.up change_column :ingredients, :measure, :real end
Ejecuté rake db: migrate y volvió bien.
Cuando inserté un valor a través de mi aplicación rails, no devolvió el lugar decimal. Empecé a pensar que muchos rieles no saben qué es 'real' como tipo de datos, así que cambié la migración a
change_column :ingredients, :measure, :float
Entonces corrí
rake db:migrate change_measure_column_on_ingredientsy ahora me sale el siguiente error
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 `'
Intenté cambiar el: float de nuevo a: real, pero aún recibo ese error.
¿Alguien puede decirme qué estoy haciendo mal? Soy nuevo en los rieles y sigo aprendiendo.