Is there a good ORM (object relational manager) solution that can use the same database from C++, C#, Python?
It could also be multiple solutions, e.g. one per language, as long as they can can access the same database and use the same schema.
Multi platform support is also needed.
The idea is to have one database and access this from software written in several different programming languages. Ideally this would be provided by one ORM having APIs (or bindings) in all of these languages.
One other solution is to have a different ORM in each language, that use compatible schemas. However I believe that schema migration will be very hard in this setting.
Object-relational mapping (ORM) is a programming technique in which a metadata descriptor is used to connect object code to a relational database. Object code is written in object-oriented programming (OOP) languages such as Java or C#.
What is an ORM? An object-relational mapper provides an object-oriented layer between relational databases and object-oriented programming languages without having to write SQL queries. It standardizes interfaces reducing boilerplate and speeding development time.
An ORM is a database abstraction layer that sits as an intermediary between you and the database engine. It allows you to define regular Python objects and methods and translates them into low-level SQL database instructions for you. SQLAlchemy is the ORM of choice for working with relational databases in python.
An object-relational mapper (ORM) is a code library that automates the transfer of data stored in relational database tables into objects that are more commonly used in application code.
With SQLAlchemy, you can use reflection to get the schema, so it should work with any of the supported engines.
I've used this to migrate data from an old SQLite to Postgres.
I know DataAbstract for Pascal, C# and soon for objective C for Mac and Iphone but no Python support.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With