実消化&アルトマーク実績全件洗替処理
概要
実績全件洗替処理の週次バッチ処理。
環境情報
- Python 3.9
- MySQL 8.23
- VSCode
環境構築
-
Python の構築
- Merck_NewDWH 開発 2021 の Wiki、Python 環境構築を参照
- 「Pipenv の導入」までを行っておくこと
- 構築完了後、プロジェクト配下で以下のコマンドを実行し、Python の仮想環境を作成する
pipenv install --dev --python <pyenvでインストールしたpythonバージョン>- この手順で出力される仮想環境のパスは、後述する VSCode の設定手順で使用するため、控えておく
- Merck_NewDWH 開発 2021 の Wiki、Python 環境構築を参照
-
MySQL の環境構築
- Windows の場合、以下のリンクからダウンロードする
- Docker を利用する場合、「newsdwh-tools」リポジトリの MySQL 設定を使用すると便利
- 「crm-table-to-ddl」フォルダ内で以下のコマンドを実行すると
docker-compose up -d- Docker の構築手順は、Docker のセットアップ手順を参照のこと
- 「crm-table-to-ddl」フォルダ内で以下のコマンドを実行すると
- データを投入する
- 立ち上げたデータベースに「src05」スキーマを作成する
- ローカル開発用データをダウンロードし、mysql コマンドを使用して復元する
mysql -h <ホスト名> -P <ポート> -u <ユーザー名> -p src05 < src05_dump.sql
-
環境変数の設定
- 「.env.example」ファイルをコピーし、「.env」ファイルを作成する
- 環境変数を設定する。設定内容は PRJ メンバーより共有を受けてください
-
VSCode の設定
- 「.vscode/recommended_settings.json」ファイルをコピーし、「settings.json」ファイルを作成する
- 「python.defaultInterpreterPath」を、Python の構築手順で作成した仮想環境のパスに変更する
実行
- VSCode 上で「F5」キーを押下すると、バッチ処理が起動する。
- 「entrypoint.py」が、バッチ処理のエントリーポイント。
- 実際の処理は、「src/jobctrl_laundering.py」で行っている。
フォルダ構成
├── .env.example -- ローカル実行用の環境変数のサンプル値。 ├── .dockerignore -- docker build時のコンテキストに含めるファイルの抑制リスト ├── .gitignore -- Git差分管理除外リスト ├── Dockerfile -- Dockerイメージを作成するためのファイル ├── Pipfile -- Pythonモジュールの依存関係を管理するファイル ├── Pipfile.lock -- Pythonモジュールの依存関係バージョン固定用ファイル ├── README.md -- 当ファイル ├── entrypoint.py -- バッチ処理のエントリーポイントになるpythonファイル └── src -- ソースコードの保管場所 ├── batch -- バッチ処理関連ソース置き場 │ ├── batch_functions.py -- バッチ処理共通関数置き場 │ └── laundering -- 実績全件洗替関連処理 │ ├── create_inst_merge_for_laundering.py -- 洗替用マスタ作成処理 │ └── sales_results_laundering.py -- 卸販売実績全件洗替処理 ├── db │ └── database.py -- データベース操作共通処理 ├── error │ └── exceptions.py -- カスタム例外 ├── jobctrl_laundering.py -- 実績全件洗替処理のエントリーポイント。「entrypoint.py」 から呼ばれる。 ├── logging │ └── get_logger.py -- ログ出力の共通処理 └── system_var ├── constants.py -- 定数ファイル └── environment.py -- 環境変数ファイル