自動バックアッププラグインを作っている中で、「Nucleus Adminからのバックアップ&リストア」に問題点を2つ見つけました。
なんか、いろいろ問題があるみたいですね~。
Nucleus(JP)フォーラムで「リストア」って検索してみたら、他にも問題があるみたい。
何だか、先日自分のバグで騒いだのがバカらしく思えてきちゃうよぅ・・・。(涙)
先日見つけた、Nucleus Adminのリストアの不具合ってのは、以下の2点です。
- アイテム・コメント・スキン・テンプレートなどなど、複数行が入力できる項目の「最後の行の行頭」に、#があると、そのテーブルの対象レコード以降のレコードがリストアできない。
また、最終行でなくても、行頭に#がある場合、その行だけがリストアされず抜け落ちるようです。
「アイテム本文」の最終行の場合も、そのアイテムだけの損失で済むのですが、「アイテム続き」の最終行の行頭に#がある場合、そのアイテム以降の(そのアイテムidより大きい)全てのアイテムがリストアできません。
恐ろしい!
#は、よく行頭に書きますので(しかも最終行に書くことが多いのでは?)、この現象は頻発しているのではないでしょうか?かなり致命的です。
- プラグインテーブルのフィールド名・キー名に、MySQLの予約語が使用されている場合、そのテーブルはリストアされない。
MySQLでは、フィールド名・キー名などに、予約語の使用が許されているのですが、その場合、引用符でくくらなければなりません。Nucleus Adminの出力するバックアップファイルには、引用符がないため、リストアできません。
「こういった危険(?)な名前を付けるプラグイン作者が悪い」といえば、そうなのかも知れませんが、MySQLの仕様としては許されていますので、Nucleusがそういう仕様になっていることを知らなければ、普通に使ってしまうと思われます。
とか言いながら、先日改造した本家で公開されている「NP_Referer2」にも、予約語が使ってありました。(それで発見したんです。)
#(←全角で書いてます

)については、
タカさんが、ずいぶん前に書かれていますね。知らなかったぁ。
2.0リストアにおいて - サイケデリックビビアンv3.21になってもまだ改善されていないんですね。
上記2つの問題に対しては、バックアッププラグインNP_znBackup ver0.02に、問題点を検知する機能を追加しました。
追加機能の詳細については、
こちら→
Nucleus 自動バックアッププラグインNP_znBackup_ver0.02alpha
Nucleus 自動バックアッププラグイン作ってみました←こちらのページでダウンロードできます。
↑このフィードをRSSリーダーに登録しておくと、この記事へのコメント追加をチェックすることができます。
コメント追加後の、返事待ちなどにお使い下さい。
なお、コメントチェックの必要がなくなった際には、このRSSを削除して下さいね。
不要なトラフィックを避けるために、ご協力お願いいたします。