海の底には何がある

これは日記だ。ブログじゃない。

暗中模索

稼働中の某データベースにコラムを一つ追加せよとの依頼が来て早10日。もうこれ以上サボってるわけにはいかないので、取り組む。データベースが設置されているレンタルサーバーはSSHを受け付けないのでPHPからquery発行して操作するわけ。ということは、操作の結果を見るにもスクリプトが必要でまあ一つ一つ面倒臭いのが、なんとなく後伸ばしにしていた理由だ。とはいえそんなこと言ってても捗らないので、ALTER TABLEしてみるけどエラー。何度やってもダメ。うー、と調べているウチに、どうもDBのバージョンが古いんじゃないか、ということに気づく。SQLiteを使ってるのだけど、ALTER TABLEを実装したのはバージョン3からだとどこかに書いてあった。で、格安レンタルサーバーなので、使っているのは2に違いない。そう考えると筋が通る。いやこれもSSHさえ通ればすぐに確かめられるのに…ともかく、そうと推認されるからには他の方法を取らなきゃならない。迂遠だが、一時テーブルを作ってデータを退避、元テーブルを消してから、コラムを増やしたテーブルを再作成してデータを書き戻すことに。しかし、元テーブルを消すという作業を、PHP経由のみという、まるで暗闇の中の手作業みたいな状態でやるのは怖い。けど勇気を出して慎重の上にも慎重を期したチェックの後、作業。その後も無事にDBが動いてるのを確認して一安心。で、動作確認だが、稼働中なのでダミーデータを使うとまた消すのが面倒で、クライアントにお願いして正しいデータを使ってテストしてもらう。当然不具合が残っているわけで、5-6回やりとりしなくちゃならなかったけど、なんとか完成した。ほっとしました。