SQLAlchemy – SQLite para pruebas y Postgresql para desarrollo – ¿Cómo migrar?

Quiero usar la base de datos de memoria sqlite para todas mis pruebas y Postgresql para mi servidor de desarrollo / producción.

Pero la syntax SQL no es la misma en ambos dbs. por ejemplo: SQLite tiene autoincremento, y Postgresql tiene serial

¿Es fácil portar el script SQL desde sqlite a postgresql … cuáles son sus soluciones?

Si quiere que use el SQL estándar, ¿cómo debo proceder para generar la clave principal en ambas bases de datos?

No lo hagas No lo pruebes en un entorno y lo liberes y desarrolles en otro. Estás pidiendo software con errores usando este proceso.

Mi sugerencia sería: no lo hagas. Las capacidades de Postgresql van mucho más allá de lo que SQLite puede proporcionar, particularmente en las áreas de soporte de fecha / numérico, funciones y procedimientos almacenados, soporte de ALTER, restricciones, secuencias, otros tipos como UUID, etc., e incluso el uso de varios trucos SQLAlchemy para probar suavizar eso solo te llevará un poco más lejos. En particular, la aritmética de fechas e intervalos son bestias totalmente diferentes en las dos plataformas, y SQLite no tiene soporte para decimales de precisión (punto no flotante) como lo hace PG. PG es muy fácil de instalar en todos los sistemas operativos principales y la vida es más fácil si sigues esa ruta.

Aunque comenzamos con sqllite para nuestro entorno de prueba, estamos mirando seriamente a tener postgres ejecutándose para cada desarrollador. Tenemos scripts que construyen la base de datos de prueba con la que se ejecutan nuestras pruebas de unidad, y tenemos una versión de “desarrollo” que utilizan los desarrolladores.

Investigamos ejecutar postgres ‘en memoria’ en ramdisk, pero esta discusión: http://dbaspot.com/forums/postgresql/395602-memory-postgresql-database.html sugiere que no es necesario.

No nos hemos encontrado con ningún problema todavía, pero aún es temprano en el proceso de desarrollo y todavía no hemos tenido que hacer nada demasiado sofisticado.

zzzeek señala algunos elementos que probablemente nos harán tropezar pronto 🙁

Mejor haz el movimiento ahora ….