2009年11月11日

インポートキャンセルでDBぶっこわし

家を出る前、ふとファイルメーカーに画像をフォルダでインポートしようとして、
しかしまだその肝心の画像データのフォルダがなかったことに気づき、キャンセル。
そのままエラーに続行を返したら、見事にデータベースがとんでもないことになってしまいました。

自分で作ったインポートスクリプトがキャンセルのことを考えてなくて、そのまま次の全置換ステップに入ってしまい、全レコードのアルバムIDを同じにしてしまった。
つまりどういうスクリプトだったかというと、

1,アルバムテーブルでレコードを作成
2,変数にアルバム名のIDを格納
3,画像テーブルでインポート(レコード作成)
(この段階で、レコードはインポートしたものだけが対象となっている)
4,取りこんだ画像レコードのIDに、変数(アルバム名)を全置換

というもの。
ところが3の段階でキャンセルして間違って「続行」を押しちゃったものだから、3000以上あった画像レコードがすべて同じアルバムIDに。そして残りのアルバムからは登録画像が消え去り、ゼロになってしまった。

憔悴したまま外出して、帰宅してから修正。
画像レコードに残されたファイルパスを見て、パスのフォルダ部分をコピーして検索。
すると選択画像と同じフォルダの画像だけが抽出される。
その画像が元々入っていたアルバムレコードを捜し、そのIDと名称をコピー。
画像レコードに戻って、IDをアルバムのIDに書き換えて全置換。
アルバムの名称もコピーして全置換。
無駄な労力って、しんどいですね。
すぐにスクリプトを修正しました。


タグ:diary filemaker
posted by tk219 at 20:50 | Comment(0) | TrackBack(0) | ファイルメーカー | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。