Python の仮想環境には venv を使用して開発します。
必要な環境変数は .env ファイルで管理します。
python3.10 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pipsource .venv/bin/activate
python -m pip install mysql-connector-python pymysql mysqlclient psycopg2mysqlclient と psycopg2 は、環境によって追加のネイティブ依存ライブラリが必要になる場合があります。
管理者権限のあるユーザで MySQL シェルに入り、以下を実行します。
mysqlCREATE DATABASE sqlmapper
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
CREATE USER 'sqlmapper'@'localhost' IDENTIFIED BY 'sqlmapper';
GRANT ALL ON sqlmapper.* TO 'sqlmapper'@'localhost';管理者権限のあるユーザで psql に入り、以下を実行します。
psqlCREATE DATABASE sqlmapper
TEMPLATE template0
ENCODING 'UTF8'
LC_COLLATE 'C'
LC_CTYPE 'C';
CREATE USER sqlmapper WITH PASSWORD 'sqlmapper';
GRANT ALL PRIVILEGES ON DATABASE sqlmapper TO sqlmapper;
\c sqlmapper
GRANT ALL ON SCHEMA public TO sqlmapper;プロジェクトルートに .env を作成し、以下を設定します。
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=sqlmapper
MYSQL_PASSWORD=sqlmapper
MYSQL_DATABASE=sqlmapper
PGHOST=localhost
PGPORT=5432
PGUSER=sqlmapper
PGPASSWORD=sqlmapper
PGDATABASE=sqlmapperset -a && source .env && set +a
source .venv/bin/activateSQLite3:
python -m unittest -v tests/test_sqlmapper_sqlite3.pyMySQL (mysql.connector):
python -m unittest -v tests/test_sqlmapper_mysql.pyMySQL (pymysql):
python -m unittest -v tests/test_sqlmapper_pymysql.pyMySQL (MySQLdb / mysqlclient):
python -m unittest -v tests/test_sqlmapper_mysqldb.pyPostgreSQL (psycopg2):
python -m unittest -v tests/test_sqlmapper_psycopg2.py