Para quienes desarrollan en Ruby on Rails con Sqlite3 como base de datos local, no se si les haya pasado pero un dia Sqlite3 comenzaba a poner valores NULL por default a fuerzas, inclusive me toco que en una ocasion mi schema.rb tuviera un
:default =>''''''''''''NULL'''''''''''''''
que claro no tiene ningun sentido. Las migraciones estan bien, sin valores por default, entonces, que pasa?
Pues despues de buscar y buscar, por fin encontre la respuesta: Sqlite3 despues de la version 3.3.7 cambio su formato interno y hacia algun tipo de conflicto con la metadata.
Como lo arreglo? Facil! Primero, desinstala libsqlite3-ruby1.8 de tu sistema (estoy suponiendo que como yo, usas (K)Ubuntu e instalaste el paquete desde repositorios).
sudo aptitude purge libsqlite3-ruby1.8
Ahora solo instala la version actual de la gem para sqlite3
sudo gem install sqlite3-ruby
Listo, ahora elimina el archivo de base de datos que estabas usando, y vuelvelo a crear con rake
rake db:migrate
Revisa tu schema.rb, debe estar limpio de valores default NULL que no le indicaste en las migraciones.
Espero les sirva, para mi esto fue un grandisimo dolor de cabeza muchos, muchos dias.

The Como arreglar valores NULL en Ruby on Rails con Sqlite3 by Gabriel Saldaña, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Share Alike 2.5 Mexico License.
Related posts:
DefectiveByDesign.org | The Campaign to Eliminate DRM
FSF Member
Add to Technorati Favorites
Pingback: meneame.net
Pingback: www.enchilame.com