martes, 29 de abril de 2014

Migrar de Sqlite a PostgreSQL para web2py

Abre la consola de python y navega hasta la carpeta de web2py


Inicia web2py en modo consola:

# python web2py.py -S nombre_de_tu_app -M –P

Exporta los datos a csv:

# db.export_to_csv_file(open('nombre_de_tu_app_export.csv', 'wb'))

Salir de la consola con: exit()

Prepara tu aplicación para una nueva base de datos.
Ingresa al directorio de tu app y hace un backup de la carpeta databases

# cp -r databases databases_bak


Crea una nueva carpeta:

# rm -r databases

# mkdir databases


Cambia la cadena de conexión de DAL
:

Anterior:
# db = DAL('sqlite://storage.sqlite',pool_size=1,check_reserved=['all'])

Nueva:
db = DAL('postgres://usuario:contraseña@localhost/base_de_datos')

Inicia web2py en modo consola:

# python web2py.py -S nombre_de_tu_app -M –P


Importa los datos CSV:

# db.import_from_csv_file(open('
nombre_de_tu_app_export.csv', 'rb'))

Hacemos un commit:

# db.commit()


Salimos de modo consola:

exit()

Y listo, ya tendremos los datos funcionando en PostgreSQL.