■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。
このフォーラムは閲覧専用のアーカイブです。

管理画面からのバックアップが失敗する

hataya > 管理画面からのバックアップが失敗する @ 2011/11/15 10:01
こんにちわ はたや です。
いつもお世話になっております。

現在自社のホームページでBaserCMS1.6.10を利用しております。

運用管理の都合上、テストサイトと本番サイトの二つのサイトを同じバージョンで並行運用しているのですが、テストサイトで「管理画面」→「システム設定」→「データメンテナンス」からバックアップを取得しようとすると、下記のようなメッセージが出てバックアップが取得できません。
-----
データベーステーブルがありません

エラー: モデル BcBlogCategory のデータベーステーブル bc_blog_categories が見つかりません。

注意: このエラーメッセージをカスタマイズしたい場合は、 app/views/errors/missing_table.ctp を作成してください
-----
本番サイトでは問題なくバックアップが取得できています。

恥ずかしながら、サーバー側の作業を不定期で実施しておりますが、どのタイミングでこのような事象になってしまったのか把握できていません。。。

そこで、本件解決するために確認するべきポイントがあればご教示いただけないでしょうか。

〜環境〜
-----
■ BaserCMSのバージョン:1.6.10
■ スマートURLの利用:ON
■ 設置フォルダ:ドキュメントルート
■ 利用しているデータベース:CSV
■ PHPスキル(自己評価): E(BaserCMSのテンプレートは操作できた)
-----
■ OSの種類:CentOS 5.7
■ Webサーバー:Apache 2.2.3
■ PHPのバージョン:5.1.6
-----

〜環境〜
-----
■ BaserCMSのバージョン:4.0.0
■ 設置フォルダ:ドキュメントルート
■ 利用しているデータベース:CSV
■ PHPスキル(自己評価): E

arata > Re: 管理画面からのバックアップが失敗する @ 2011/11/16 18:28
hatayaさん、こんにちは!
DBのプレフィックスが変わってる・・・という事には気付きました。通常だと、プラグイン周りのDBのプレフィックスは「pg_」なので。
プレフィックスの確認については以下で出来ます。

BASERCMS/app/config/database.php を開いて、27行目辺りの以下の記述です。
'prefix' => 'pg_',

この設定が消えたり別のものになってないかを見てみて貰えますか?

それと、バックアップが出来ている側と出来ていない側で、DB(CSV)の構成が異なっていないかどうか?を見て貰えたらと思います。
CSVだと以下がDB保存箇所になりますね。
BASERCMS/app/db/csv/baser/〜.csv

ちょっと正確な部分が判らないので確認することばかりになってしまってすいませんが、先ずは見て貰えたらと思いますー。

■ 不明点解消できるかも。逆引きガイドもあります baserCMS公式wiki
■ Twitter:@arata

hataya > Re: 管理画面からのバックアップが失敗する @ 2011/11/16 19:32
arataさん

フォローいただきありがとうございます。

ご指摘いただいた database.php の設定を確認したところ、以下のようになっており27行目の記述は"'prefix' => 'pg_',"となっていました。

<?php
//
// Database Configuration File created by BaserCMS Installation
//
class DATABASE_CONFIG {
var $baser = array(
        'driver' => 'csv',
        'persistent' => false,
        'host' => '',
        'port' => '',
        'login' => '',
        'password' => '',
        'database' => '[BASERCMS]/app/db/csv/baser',
        'schema' => '',
        'prefix' => '',
        'encoding' => 'sjis'
);
var $plugin = array(
        'driver' => 'csv',
        'persistent' => false,
        'host' => '',
        'port' => '',
        'login' => '',
        'password' => '',
        'database' => '[BASERCMS]/app/db/csv/baser',
        'schema' => '',
        'prefix' => 'pg_',
        'encoding' => 'sjis'
);
}
?>


ただ、バックアップができていた古いバージョンのころの設定を確認したところ、15行目の記述に違いがありました。
(バックアップができている本番サイトは別の部門で管理しているので、すぐに確認ができませんでした・・)
変更前
'prefix' => '',

を
変更後
'prefix' => 'bc_',

としたところ問題が解決しました。

しかしながら、いままで 'database' => '*****', は変更することはありましたが、'prefix' => '*****', を変更することはなかったと思うので、腑に落ちない感はありますが・・・

でも、とりあえず直ったのでひと安心です。

ありがとうございました!

〜環境〜
-----
■ BaserCMSのバージョン:4.0.0
■ 設置フォルダ:ドキュメントルート
■ 利用しているデータベース:CSV
■ PHPスキル(自己評価): E

arata > Re: 管理画面からのバックアップが失敗する @ 2011/11/16 20:01
解決したようで良かったです〜丶(・ω・)ノ

■ 不明点解消できるかも。逆引きガイドもあります baserCMS公式wiki
■ Twitter:@arata

ryuring > Re: 管理画面からのバックアップが失敗する @ 2011/11/21 21:15
こんばんは。

どのバージョンか忘れてしまったのですが。。
プレフィックスの仕組みは途中から変更になっちゃいました。
昔は、

本体・・・bc_
プラグイン・・・bc__(アンダースコア2つ)


今は、

本体・・・bc_
プラグイン・・・bc_pg_


この辺が関係している可能性があります。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

hataya > Re: 管理画面からのバックアップが失敗する @ 2011/11/22 12:20
ryuringさん

フォローありがとうございます。

当方、1.6.2 1.6.6 から継続的にバージョンアップをしてきたので、ご指摘の変更が起因しているかもしれないですね。

ところで、CSVデータベース側を現行バージョンのプレフィックス設定に合わせる(変換する)方法ってあるのでしょうか?
バージョンアップのたびに設定ファイルを気にするより、どこかのタイミングで現行バージョンのプレフィックスに一括変換してしまったほうが、同じ問題を繰り返すことがなく安心できると思うのですが、いかがでしょうか?

〜環境〜
-----
■ BaserCMSのバージョン:4.0.0
■ 設置フォルダ:ドキュメントルート
■ 利用しているデータベース:CSV
■ PHPスキル(自己評価): E

ryuring > Re: 管理画面からのバックアップが失敗する @ 2011/11/22 16:45
こんにちは。

CSVの場合、実際のデータが次の場所に保存されています。
/app/db/csv/baser/

その中の各CSVのファイル名をリネームしてください。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ