Pregunta

Estaba en camino para el desarrollo de una aplicación de comercio electrónico. ¿Es posible escribir una aplicación de litio que funcione en diferentes conexiones básicamente MongoDB o CouchDB y MySQL? ¿Cómo podemos hacerlo y cuáles son sus consejos para lograrlo?

¿Fue útil?

Solución

No estoy seguro de si te entiendo bien.

Si solo desea usar más conexiones al mismo tiempo para diferentes bases de datos, esto es fácilmente posible. Simplemente puede definir más conexiones a la vez (eche un vistazo al archivo de bootstrap de conexión predeterminado y también en la documentación de la clase Lithium Core Environment).

Si desea ejecutar toda su aplicación en toda la base de datos mencionada anteriormente, lea leyendo ...

No es fácil responder a esta pregunta en general, pero aquí hay algunas ideas sobre esto:

Como sabrá, Lithium le proporciona una capa de abstracción de la base de datos que expone métodos generales para el proceso CRUD. Como es bueno que esto sea durante el desarrollo (no tiene que aprender nuevas interfaces para cada base de datos), pronto llega a un punto en el que necesita funciones específicas de la base de datos.

Esto puede plantear problemas de compatibilidad entre las bases de datos relacionales, pero es casi imposible para mezclar bases de datos relacionales y no relacionales. Por supuesto, puede usarlos uno al lado del otro, pero proporcionar abstracciones es realmente difícil. Por ejemplo, ¿cómo consultaría los documentos anidados (como lo hace en MongoDB) en MySQL? Podrías escribir un envoltorio que intente emular esto, pero no deberías intentarlo.

Dicho esto, si realmente tiene que hacer esto, puede lograrlo escribiendo código de envoltura y dejar de lado las funciones de dependientes de la base de datos muy específicas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top