This article focuses on the disparity of using SQLite in development and something else (like MySQL) in production. That's a genuine concern.<p>However, I think the headline could be misleading on its own. There's nothing wrong with using SQLite in Rails dev <i>and</i> production. If you're using SQLite at both ends and know how to treat it right, it's great (and scales up a pretty long way - indeed, I'd argue the <i>majority</i> of Rails apps out there would be fine with it given how little traffic they get).
SQLite is a good engine, but it's still an in process (or desktop) style engine. In process engines have inherent weaknesses in terms of concurrency that make them a fundamentally poor choice over server-based engines like MySQL for web sites or other scenarios with the potential for a lot of simultaneous write access.
I knew to look for this:<p>"because I’m using SQLite in my test environment too"<p>WHY DOES YOUR TEST ENVIRONMENT NOT MIMIC YOUR LIVE ENVIRONMENT?<p>Seriously, that's really stupid. It's not a test environment, it's a playground. Fix that, or continue to have stupid issues like this plague you forever.
Just for the info, for all those using SQLLite with Rails, check this add-on <a href="https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/" rel="nofollow">https://addons.mozilla.org/en-US/firefox/addon/sqlite-manage...</a>
So whose bug was this? Did SQLite fail to round off a DECIMAL(<i>n</i>, 0) column, or did ActiveRecord make the scale value optional without guaranteeing that you always get zero (or some other reliable value) by default?