2010/12/12

【DB】テーブルの移行

現在の仕事でテーブルの移行作業がある。
そのための手順について勉強したから、参考用にまとめておく。

【要求】
・サービスの改定に伴い、テーブル定義の変更が発生
・これまでのテーブルに登録された内容はそのまま移行
・ALTER TABLEの使用禁止
・追加するカラムには、定数が入る

【テスト環境】
・OS:Windows Vista
・RDBMS:SQLite3

【手順】
1.現在のテーブルのバックアップテーブルを作成する
 create table BackUpTable as select * from OriginalTable;

2.現在のテーブルを削除する
 drop table OriginalTable;

3.新しいテーブルを作成する
 create table NewTable(カラム名 属性, 追加カラム名 属性, ...);

4.バックアップテーブルから新しいテーブルにレコードをコピー
 insert into NewTable
  as select カラム名, 追加カラム名の値, ...
  from BackUpTable;


以上で移行ができるはず。
だけど、DBMSによって、SQL文に修正が必要かもしれない。
あと、SQLiteは型の制約がないから簡単にできたけど、他がどうかは分からない。
まず、実環境と同じ環境でテストし、動作確認が必要だな。

参考URL:
・テーブルデータの移行 - Database Expert - @IT
 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=40910&forum=26

2010/12/11

思ふこと

俺にとって
 仕事って?
 同僚って?
 同期って?

評価を
 どうされたい?
 だれにされたい?


今週ずっと残業してた。
毎日勤務開始1時間前に出勤して、23時くらいまで仕事してた。

先輩とチームで仕事をしてるから、俺の作業の遅れで迷惑をかけたくないって
気持ちでいた。

今日は先輩に飲みに誘われた。
同期も参加するって感じになった。
誘ってもらって、俺も行きたいって言った。

けど、行けなかった。
行けないって連絡もしなかった。。。

連絡する機会は何度もあった。
先輩が先に行く時、何度も気にして言ってくれた。
けど、俺は気づかなかった。
どこかで、”伝えてくれる”って甘えてたのかも。

約束の時間10分前に、同期が連絡くれてた。
サイレントにしてて全然気付かなかった。
けど、約束をしていたんだから携帯に注意を向けておくべきだった。

と、今更考えても「自分が悪い」って結論しか出てこない。


「俺=仕事を理由にして約束を破るやつ」


そんな風に評価されたいのか?
そんなん嫌と思ってるくせに、なぜ行動できなかった??

お前はこうやって自分から嫌われにいってる。
嫌われたくない癖に。

どうしないといけないか考えろ。
考えろ、考えろ、考えろ。。。