This might not work because I'm not sure changing from a string to decimal is straightforward (if the column was not empty). Per the docs, it may need a "using" clause: http://www.postgresql.org/docs/current/static/sql-altertable.html
Alternatively, you could delete the Field from your model and then re-add it. To be safe, you might want to use a tool like pgAdmin or Navicat.