0

私はSQLHeavyの使用法のドキュメントを見てきました(私はかなり長い間似たようなものを探していました)そしてそれは非常にクールな抽象化レイヤーです。

MySQL/PostgreSQLにも同じ機能が必要です。

  • SQLHeavyの背後にあるコードは、プラグイン可能なデータベースドライバーを念頭に置いて作成されていますか、それとも100%SQLite専用ですか?
  • プラグ可能性が考慮されていない場合、コードベースを知っていると、ポートを試行するのはどれほどクリーンでしょうか?明確にするために、コードに重大な構造/ロジックの変更が必要ですか、それともすべてのSQLite固有の関数を置き換えて、MySQL固有の関数に変更し、引数を適応/処理するだけですか?

注:私はPHP開発者(C / C ++ / Javaのバックグラウンドを持っています)で、Valaでペットプロジェクト(必ずしも関与度が低いとは限りません)を計画しています。

4

1 に答える 1

2

これはSQLite専用であり、移植は実際には実現可能ではありません。

SQLHeavyを作成したとき、私は(非常に)簡単に複数のデータベースをサポートすることを検討しましたが、多くの機能は他のデータベースにうまく変換されません。SQLHeavyは、データベース間の違いを抽象化するのではなく、SQLiteデータベースへのアクセスを容易にするように設計されました。

非常に印象的なプロジェクトであるlibgdaをご覧になることをお勧めします。Valaバインディングを配布し、複数のデータベース(PostgresとMySQLを含む)をサポートします。

于 2012-08-17T10:13:35.170 に答える