SQLAlchemyをよく見てください。
SQLiteでテストおよび開発できます。
MySQLを使用して本番環境に移行できます。基本的に、アプリケーションに変更を加える必要はありません。
DB-APIは広く採用されていますが、十分な柔軟性を備えているため、(1)基盤となるRDBMSのSQLバリエーションから隔離されておらず、(2)隠すのが難しいDBドライバー固有の機能がまだあります。
もう1つの優れたORMレイヤーは、Django の一部であるORMです。 。残りのDjangoWebフレームワークを使用せずに、(少しの努力で)DjangoORMだけを使用できます。
DB-APIではなくORMレイヤー(SQLAlchemyまたはSQLObject)を使用します。
なんで?モデルは、堅実で、明確で、よく考えられたOOモデルである必要があります。リレーショナルマッピングは、オブジェクトモデルの次に来る必要があります。 SQLAlchemyはこれを合理的なアプローチにします。
「DB抽象化レイヤー」は、通常のイベントの過程で発生します。実際、DB-API(SQLAlchemyで使用される)のために、ORMとDB-APIの2つの抽象化レイヤーを提供しました。