Closed theosotr closed 3 years ago
@StefanosChaliasos
We should fill the following table
Backend | Django | Peewee | SqlAlchemy | ActiveRecord | Sequilize |
---|---|---|---|---|---|
Oracle DB | X | - | X | X (not officially) | - |
MS Server | X (not officially) | - | X | X (not officially) | X |
Maria DB | X | X | X | X | X |
CockroachDB | X (not officialy) | X | X (not officially) | X | X (not officially) |
X: Supported
So it's worth to investigating all backends.
Oracle DB: supported by two well-established ORMS MS Server: supported by sqlalchemy and sequelize Maria DB: supported by the majority of ORMs.
We can also consider Cockroach https://www.cockroachlabs.com/. This DB is not officially supported by the corresponding ORMs, but by the CockroachDB developers. For example see https://github.com/cockroachdb/sqlalchemy-cockroachdb
Why CockroachDB? Because the researchers of ETH found hundeds of bugs in this DBMS, so I believe that we may also find bugs in their ORM extensions.
All orms (Django,Peewee,SQLAlchemy,ActiveRecord) use the same connectors for mysql and mariadb.
It's complex to support oracledb. I implemented the first steps in this branch.
investigate if it is possible to run queries on new backends e.g.,