Rails3.1.3

I have db type,

startp:integer

I need to change it to float. More specifically,

1.2, 45.1, 143.8 ...

Don't use float here, use decimal (if your real intention is

_decimals_, for counting "business" things like money,

quantity, size in centimeter, etc.).

I have two questions:

1. Is removing and adding the field through migration the only way?

in other words, is there a single command to change the type?

Probably with "change_column" (I am not 100% sure). Refs:

http://guides.rubyonrails.org/migrations.html

http://api.rubyonrails.org/classes/ActiveRecord/Migration.html

http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html#method-i-column

2. Is there anyway to limit the decimal place to only one?

56.3, 34.2... are acceptable, but 23.112, 77.34, ... are not.

Yes, with decimal:

"... For clarity’s sake: the precision is the number of significant

digits, while the scale is the number of digits that can be stored

following the decimal point. For example, the number 123.45 has a

precision of 5 and a scale of 2. A decimal with a precision of 5 and a

scale of 2 can range from -999.99 to 999.99. ..."

t.decimal :number, :precision => 10, :scale => 1

HTH,

Peter