Migration not working on sqlite3, works on MySQL

I'm working through AWDwRoRv2 and have run into a snag on page 80.

The code is a migration:

The error I get occurs when I run "rake db:migrate" using sqlite3 as
my database:
  SQLite3::SQLException: near "ADD": syntax error: ALTER TABLE
products ADD "price" decimal(8,2) DEFAULT 0

It works if I use MySQL instead. Is there a problem with sqlite3,
rails, or a configuration error on my computer?


Not sure. Running on fumes here, but check that you're not using
incompatible options for sqlite3. Also, see if changing 0 to 0.00
helps. Again, I'm running on fumes.


I've had a few SQL-based problems moving to SQLite, but I first had a
few problems with compatability. I can't speak for your environment,
but I ended up re-installing SQLite and anything I could find similar
to it to get it working correctly. I wish I had good notes from that
day to remember what all the hangups were, but I was trying to rush
out of town and wanted some rails apps to take with me on my laptop
without taking the time to install mysql or something similar.

I threw together a fast test to make sure I couldn't see anything else
wrong with what you've provided. It's:

* a fresh rails app (v1.2.3)
* with a sqlite3 database configured
* and a migration that uses a decimal type
* with precision "8,2" and default 0

I've dropped it on www.showcase60.com/test_for_milesf.tar.gz if you'd
like to take a look.

Warm regards,


Thanks David. The app you sent me throws an error too, so I'm
assuming it's something wrong with my install. Really appreciate your
help :slight_smile:



Yep, that did it. I installed the latest version of sqlite from
source and ripped 'n reinstalled the sqlite3-ruby gem and all works
fine now.

Thanks for the help!