我正在构建一个我想发布的应用程序,我将用 Python 编写该应用程序。我不想将任何特定数据库 sql/nosql 的使用锁定到我的应用程序中。如何设计应用程序或模型层以不强制执行 SQL/NOSQL 方式来存储数据。
是否有可以同时使用这两种存储类型的 ORM?我没有找到一个。通常我会使用 sqlalchemy 来确保人们可以根据需要使用 MySQL/PostgreSQL/MSSQL/etc,但是将 NOSQL 添加到图片中似乎比我最初想象的要复杂。
我有一些要求,例如:
- 我不想强制执行任何存储后端,这是为了确保它不会吓到人们使用该应用程序。
- 它必须支持数据模式迁移(在安装或升级过程中)
如果您知道如何构建这些需求,我将不胜感激。是否可以创建这样的结构:
+-----+
+ app +
+-----+
|
+-------------+
+ Data Access +
+-------------+
|
+-----------+
+ SQL/NOSQL +
+-----------+
谢谢