I’m always confused when using
decimal in a Rails migration. Normally I need to store a value that has 2 or 3 numbers behind the comma (or dot), or decimals.
Let’s say you have a
Product model with a
discount_percentage attribute. This attribute is currently an integer, only allowing non-decimal values. To allow 2 digit decimal values (e.g.
12.54), you can mak the following migration:
change_column :products, :discount_percentage, :decimal, precision: 5, scale: 2
This will allow you to store values like
100.00. There are five digits in the entire number and of those five, two decimals.
It’s not necessary so specify
scale as your database will then allow any decimal value it can store.
Read more about the
decimal data type in PostgreSQL here: http://www.postgresql.org/docs/9.1/static/datatype-numeric.html
If you're seeing this message you've probably enabled some form of adblocker. I respect that.
I use this space to show recommended books on Amazon.com in relation to the post you just read. This generates a small income that allows me to buy a book every now and then.