Empressia製のSQLAlchemy用のDialectです。 H2 DatabaseへのJayDeBeApiを使用したJDBC接続をサポートします。
Project description
Empressia SQLAlchemy H2
概要
Empressia製のSQLAlchemy用のDialectです。
H2 DatabaseへのJayDeBeApiを使用したJDBC接続をサポートします。
接続するための最低限の実装と、基本的な委譲で行えるマッピングしかしていません。
使い方
sqlalchemy.create_engineを呼ぶ前に、empressia_sqlalchemy_h2をimportしておいてください。
SQLAlchemyへDialectを登録します。
import empressia_sqlalchemy_h2;
JayDeBeApiを使用しているため、
環境変数JAVA_HOMEに、JDKへのパスを指定しておく必要があります。
例えば、pythonで設定するには以下のようにします。
os.environ["JAVA_HOME"] = r"/path/to/JDK/";
H2のjarへのパスは、環境変数CLASSPATHに設定するか、
sqlalchemy.create_engineにjars引数として文字列の配列で渡してください。
os.environ["CLASSPATH"] = r"/path/to/h2-<version>.jar";
sqlalchemy.create_engine("<URL>", jars=[r"/path/to/h2-<version>.jar"]);
URLは、以下の形式をサポートしています。
h2:///
h2+jaydebeapi:///
databaseには、JDBCのsubnameを指定します。
例えば、次のようなJDBCの接続文字列について考えます。
jdbc:h2:mem:TestDB
この場合は、以下がsubnameとなります。
mem:TestDB
sqlalchemy.create_engineに渡すURLは、次のようになります。
h2:///mem:TestDB
subnameにMODEを指定することで、勝手に、Dialectの動作を切り替えます。
MSSQLServer、MariaDB、MySQL、Oracle、PostgreSQLのモードであれば、これだけで十分だと思います。
h2:///mem:TestDB;MODE=MSSQLServer
さらに、Dialectの振る舞いを差し替えたい場合は、
sqlalchemy.create_engineを呼ぶときに、DelegateDialectを指定するか、DelegateAttributesを指定してください。
妥当と思う範囲で振る舞いを委譲します。
Dialectを用意してある場合は、DelegateDialectを指定してください。
Dialectを用意してない場合や、DelegateDialectだけでは問題が起きる場合は、DelegateAttributesを指定してください。
DelegateAttributesを優先的に使用します。
テスト用のユーティリティ
テスト用に、ユーティリティを用意しています。
H2 Databaseのjarファイルをダウンロードすることができます。
empressia_sqlalchemy_h2.test.Utilities.downloadH2Jar("h2-<version>.jar", "<SHA-256 HEX文字列>");
その他
このプロジェクトをテストするときは、config.jsonを用意します。
パスなどが通っていればいりません。
{
"JAVA_HOME" : "/path/to/JDK/",
"H2Path" : "h2-<version>.jar",
"H2Hash" : "h2-<version>.jarのSHA-256の16進数表現"
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file empressia_sqlalchemy_h2-1.0.2.tar.gz.
File metadata
- Download URL: empressia_sqlalchemy_h2-1.0.2.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee34cbb639ee4e99332c6f4a4e2479daa7d583686762cf17c0e79c6b7f9145fd
|
|
| MD5 |
2c5533f5805ded490e1542577324f78f
|
|
| BLAKE2b-256 |
0d7a760f2a53891fb8f48865a4dddeb79544c7b77895641844c12429ebb8b53b
|
File details
Details for the file empressia_sqlalchemy_h2-1.0.2-py3-none-any.whl.
File metadata
- Download URL: empressia_sqlalchemy_h2-1.0.2-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8468c936395bbd83fcd0430469d57b692059a00d236869fd53ad0440d53390e6
|
|
| MD5 |
abc3c393c543e3a5b955170aee558588
|
|
| BLAKE2b-256 |
9b4d2354ef27fa2904d05076ba2c617713c485978f0496806b682c19851d53b3
|