Change DB data type and limited decimals

Rails3.1.3

I have db type,

  startp:integer

I need to change it to float. More specifically,

1.2, 45.1, 143.8 ...

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?

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.

Thanks in advance.

soichi

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:

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

thanks for your answer. I have successfully changed the column! And decimals work perfectly for me.

soichi