日本チェス連盟公式戦の記録
docker compose build
docker compose run web rails db:create
docker compose run web rails db:migrate
docker compose up
open http://localhost:3007
対局結果が入ったcsvファイルを用意する
- (ダミーデータを使用する場合)
mkdir data/2024-ST && mv data/ex/2024-01-01.csv data/2024-ST/2024-01-02.csv
docker compose exec web rake database:create_data
: 対局結果を保存する(冪等性なし)(実データだと15分かかる...)docker compose exec web rake database:create_player_stats
: プレーヤーごとの統計情報を保存する(冪等性あり)docker compose exec web rake database:create_year_player_ranking
: 年毎のプレーヤーのランキングテーブルを作成する(実データだと10分かかる...)docker compose exec web rake 'database:create_year_player_ranking_in[2024]'
: 指定した年のプレーヤーのランキングテーブルを作成するdocker compose exec web rake database:add_pgn_moves
: すでに保存されている対局の棋譜を上書き保存する
ここまで実行すればローカル環境で動く。
docker compose exec web rake 'database:create_from_a_file[data/2024-ST/2024-01-01.csv]'
: ファイルを指定して対局結果を保存する(本番環境で使用する。開発時は実行の必要はない。)docker compose exec web rake 'database:remove_from_a_file[data/2024-ST/2024-01-01.csv]'
: ファイルを指定して対局結果を削除する(間違えてデータを入れてしまった時用。)
- set
binding.pry
- check container id:
docker ps
- docker attach container_id
- open browser
exit
- Ctrl + q
- GitHubでプロジェクトをフォーク
git clone git@github.com:your_name/chess-results.git
cd chess-results
git checkout -b feature/xxx
- some commits
docker compose exec web rubocop -A
check rubocopgit push origin feature/xxx
- PRを作成する
- config/master.keyを本番環境に用意する
docker compose -f docker-compose.production.yml build
docker compose -f docker-compose.production.yml up -d
docker compose -f docker-compose.production.yml run web rails db:create RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1
docker compose -f docker-compose.production.yml run web rails db:migrate:reset RAILS_ENV=production