開発部だより 第252回
こんにちは、開発部だよりの投稿は久しぶりなたっくんです。
最近は、ときどき気になった記事(ニュース)を投稿するという感じでしたので(笑)
今日は、最近行った社内システムの移行作業の愚痴を・・・。
まあ、自分が昔、勉強と業務の効率化を目的に、社内のスケジュール連絡メールシステムを作ったのですが、サーバーの更新に伴い、そのシステムの移行作業が必要になったんですよ。
サーバーの移行だけなので、コピーして、ちょっとシステムの設定値を変更するだけで終わるかな〜と思っていたら、意外に時間が掛かってしまったんですよ
要因は2つ
・仕様書が無い
・DBシステムが違う(SQL Server → MySQL)
昔に作ったし、あくまでもテスト的&勉強半分に作ったので、仕様書が無い。
まあ、小さいシステムなので、ちょっとソースを見れば、すぐ把握できるのですが、移植後動作テストを行うと、正常に動かない。また、定期的に行われるはずのプログラムが、動いている気配が無い。(メールが届かない)
そこで、プログラムのデバッグ作業。
まず、「SQL Server」と「MySQL」のSQLの記述(文法)の違いによる動作不具合の調整。
エラー箇所を、ログを頼りに、探しては、変更。
盲点だったのが、ビューテーブル。
各テーブルに関する処理プログラムは直したのに、なぜか、一部データの表示がおかしく、定期的に送られるはずのメールも送信されていなかった。
いろいろ調査した結果、ビューテーブルを生成するSQLも手を入れる必要がある事が判明
で、一通り直して、検証を進めると、なぜか、DBに保存された値が文字化けをしていて
DBの作成時の文字コードを確認しても、問題無いし、DBからデータを取得しても、問題無く表示される
・・・悩む事、5分。
ColdFusionのデータソースで、MySQL時の文字コードの変更指定を忘れていた。
移行ついでに、システムの機能もバージョンアップして、システム切り替え作業無事終了!
(時間があれば、今ならもっと効率的な処理やDBに依存しないSQLの記述方法が出来るのですが、本業務の片手間に行った作業でしたので、そんな時間も取れず)
小さなシステムであっても、移植作業は、意外と大変。
あと、このシステムがずっと現役で稼働している所がびっくりでした。