Rails and SQLite3: Default Values
Here’s another rails fix. This one is for SQLite3 >= 3.3.8. SQLite decided to return sql strings for the default values shown in table definitions. This broke rails, the rails people got mad and won’t introduce a workaround. Well here’s my workaround.
sqlite_fix.rb:
module ActiveRecord
module ConnectionAdapters
class SQLiteAdapter < AbstractAdapter
def columns table_name, name=nil
table_structure(table_name).map do |field|
/^'?(.*)'?$/.match field['dflt_value']
field['dflt_value'] = $1
SQLiteColumn.new(field['name'], field['dflt_value'], field['type'], field['notnull'] == "0")
end
end
end
end
end
Include it at the end of environment.rb. That’s it!
Post a comment
Website and email are optional. Email will be displayeduser at example dot com.