あとで役立つかもしれないので考えをまとめておく。いい方法があったら教えて下さい(切実
10/14時点での結論
現在Excelで管理している
↓
Excel管理 + マスタデータのテストを書く or
Webアプリを作る
現在の方法
Webの管理画面は開発が追いついていないのでテーブルの追加/変更が発生すると見れなくなる orz
- プランナーがExcelに入力
- メンバーが作ってくれたExcelアドオンでスクリプトファイルを出力
- SVNにExcelとスクリプトファイルをcommit
- Jenkins上からスクリプトファイルをステージング環境へ流す。
- ステージング環境で確認した後で本番へリリース
メリット
- アドオンテーブル名やカラム名を設定すればいいだけになっているので、プランナーが入力しやすいように作れる。これはデータ作るだけだったら相当便利。
- サーバいらない
- 出力したスクリプトファイルはバージョン管理できるので差分がわかりやすい。テキスト最強
デメリット
- アドオンの実装わかんないと辛い
- WindowsのExcelの独自関数を使ってるみたいなのでMacでは動かない
- 数字を直入力しているので、画像パスの存在や依存データのチェックができない(色々やればできるのだろうがしてない)
- Excelはブランチ切った後にマージができない。(今は別ファイルで管理している)
そもそもどのようなデータが入ってくるのか
- 画像パスが入ってるアイテムデータ
- ショップやガチャなど日付に依存したデータ
- イベント報酬などアイテムデータが存在することを前提にしたデータ
- イベントのNPCレベルなど複数レコードで意味をなすデータ
- 特定のエラーチェックが必要なデータ
- 例) プラットフォームで決められたアイテムの最低販売価格など
妥協できるところ/できないところ
ブランチを分けるのはどちらに倒すか悩みどころ。本当は妥協できないに入れたい。
妥協できる
- Windowsユーザが多いのでOS依存でもいい
- ブランチをちゃんと切りたい
妥協できない
- プランナーの入力ミスをできるだけ早く検知したい
- ステージング環境で確認中に気づくのは避けたい
- プランナーでも変更できるようにしたい
- リリースミスしたら前のデータをすぐに戻したい
- テーブル定義変更に柔軟に対応したい
実現方法
- 画像パスのチェックや日付のチェックをマクロで作ればおk?
- IDが存在するが、そのIDが正しいかチェックをどうする?
- 横にアイテム名とかをだす??
- 出力ファイルはテキスト形式なので差分取るの楽
Webアプリ
- サーバやアプリを準備する必要がある
- エラーチェックはExcelマクロより簡単
- 各人のPCに負荷はかけない
- ダンプをexport→本番へimportとやるといい
- 作るのやっぱめんどい
- メタデータを引っ張ってきてやってみるか?
別の方法
phpAdmin
- エラーチェックの実装とかつらそう
- 間違って本番データの変なテーブルいじったとかありそう(自分は経験してないけどどこかで聞いたことがある)
- 日付チェックなどの妥当性チェックはある程度はできる
- 画像などのファイルの存在チェック、そのファイルが妥当かどうかのチェックはできない。(妥当かどうかの判断は人しかできない)
- Jenkinsの日本語をメソッド名にすると、失敗した時に日本語がちゃんと表示されない。(VM引数に-Dsun.jnu.encoding=UTF-8を入れれば解決するはず)