■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

プラグインでデータベーステーブルがありませんエラー

Rightray > プラグインでデータベーステーブルがありませんエラー @ 2014/7/15 14:22
私の環境では以下のようなエラーになります。
Uploader(アップローダー)やBanner(バナープラグイン)のプラグインを
新規追加→無効→削除→新規追加→プラグインの「管理」をクリック→【データベーステーブルがありません】
となってそのプラグインが使用できなくなります。
ですが、その使用できなくなったプラグインを
無効→インストール→プラグインのデーターを初期化する→インストール→これでまた使用できるようになります。

私がなにかやったのかもしれませんが、使用できなくなったプラグインを無効にできなくなりました。
直に削除してもう一度新規追加しても無効にすることができなくなってしまい、そのプラグインが使用できなくなってしまいました。
このような場合はどこらへんがおかしいのでしょうか?
もう一度本体自体をインストールしないとダメでしょうか?

■ バージョン:3.0.2
■ サーバー名:サクラ スタンダード
■ スマートURL:ON
■ 設置フォルダ:ドキュメントルート
■ データベース:SQLite
■ PHPスキル:[ D ]

n1215 > Re: プラグインでデータベーステーブルがありませんエラー @ 2014/7/15 20:21
Rightray 様

初めまして。

プラグインのデータはプラグインディレクトリ内の実ファイルだけに依存するものではなく、データベースにも登録されます。
そちらが不整合を起こしている可能性が高いです。

データべ―スのテーブルを操作して、一度該当するプラグインのデータを削除するとおそらく元に戻ると思います。
baserCMSをインストールしたデータベースに
(prefix_)plugins(prefixはインストール時に指定したもの)
という名前でインストールされたプラグインのバージョンのデータなどが格納されています。

今回操作不能になっているプラグインに該当するレコードを削除し、プラグインのディレクトリも削除すると
baserCMSが記録している情報がすべてリセットされ初回インストールと同じ状況に戻るはずです。

操作を間違えると大変ですのでデータベース全体のバックアップを取ってから試すことをお勧めします。



また、利用しているサーバなどの環境情報を署名にご登録いただくと正確な回答を得られやすいです。
次回以降ご検討ください。

参考:質問を投稿する際のガイドライン
http://forum.basercms.net/modules/guide/content0001.html
http://forum.basercms.net/modules/guide/content0003.html

Twitter: @n_1215

Rightray > Re: プラグインでデータベーステーブルがありませんエラー @ 2014/7/15 22:34
申し訳ないです。
署名付け忘れてました。

■ バージョン:3.0.2
■ サーバー名:サクラ スタンダード
■ スマートURL:ON
■ 設置フォルダ:ドキュメントルート
■ データベース:SQLite
■ PHPスキル:[ D ]

■ バージョン:3.0.2
■ サーバー名:サクラ スタンダード
■ スマートURL:ON
■ 設置フォルダ:ドキュメントルート
■ データベース:SQLite
■ PHPスキル:[ D ]

n1215 > Re: プラグインでデータベーステーブルがありませんエラー @ 2014/7/16 19:30
Rightray 様

MySQLなら大抵のレンタルサーバにデータベースの中身を閲覧する機能がついているのですが……
SQLiteでしたか。


●SQlite3のデータベースファイルの所在
データベースとしてSQLiteを選択している場合、
[baserCMSをインストールしたディレクトリ]/app/db/sqlite/basercms.db
というSQLite3形式のファイルにbaserCMSのデータが格納されています。

このファイルをローカルマシンにDLして編集することで修復が可能なはずです。
※以下の手順で悪化する可能性もあるため、
 あらかじめファイルをコピーしてバックアップをとっておいてください。


●SQLiteファイルの編集方法
コマンドラインから操作する方法もありますが、
GUIツールを利用して中身を編集するほうが楽だと思います。

例)SQLite Database Browser(英語ですが)
http://sourceforge.jp/projects/sfnet_sqlitebrowser/

このソフトをインストールして上記のbasercms.dbを開き(Open Database)
Browse DataのタブでTable: pluginsを開いたところが添付の画像です。


●修正方法
これはbaserCMSインストール完了時の初期データですが、
お手元の環境で試すと、操作不能になっているプラグインのデータも表示されるかと思います。
その行を選択してDelete Recordボタンを押すと該当プラグインの登録データがデータベースから消えます。
その後、本番環境のbasercms.dbファイルを編集したファイルで上書きすればデータベースも元の状態には戻るはずです。

直らない場合はひとまずバックアップしておいたファイルを使って元に戻してください。
pluginsテーブルの中身のスクリーンショットをアップしていただけるとより詳しい分析が可能です。

Twitter: @n_1215

Rightray > Re: プラグインでデータベーステーブルがありませんエラー @ 2014/7/18 13:34
n1215様

丁寧な説明ありがとうございます。

pluginsのスクリーンショットです。
19個あるみたいなのですが、真っ白です・・・・

試しに全て削除してみました。
デフォルトのプラグインがインストールできなくなってしまいました。
素人考えなんですがデータベールテーブル以外に原因があるような気がします。



■ バージョン:3.0.2
■ サーバー名:サクラ スタンダード
■ スマートURL:ON
■ 設置フォルダ:ドキュメントルート
■ データベース:SQLite
■ PHPスキル:[ D ]

n1215 > Re: プラグインでデータベーステーブルがありませんエラー @ 2014/7/20 23:05
Rightray 様

pluginsテーブルが真っ白ですか……? それはおかしい状態ですね。
他のテーブル、例えば pages等のデータは見えますでしょうか?

>素人考えなんですがデータベールテーブル以外に原因があるような気がします。
データベース周りが原因なのはほぼ間違いないと思いますが、
データベース以外ににデータを保持するプラグインの場合(プラグインディレクトリ内に独自のファイルを作るなど)
はそちらが原因かもしれません。

baserCMSでは、確認していただいたpluginsテーブルにプラグインの登録データが集中管理されるほか、
プラグインの初期化時に[プラグイン名]_のプレフィックスがついたテーブルを作成して、プラグインの独自のデータとして利用するようになっています。
例:blog_blog_postsなど

最初の投稿に書いていらっしゃる「データベーステーブルがありません」というエラーは
初期化がうまく行かなかったor未初期化のためプラグインが利用するテーブルが作成されていないことによるものだと思います。

・pluginsテーブルにプラグインの情報が正しく登録されている
・プラグインが利用する独自のテーブルが正しく初期化されている
・app/Pluginディレクトリにプラグインの実ファイルが正しく配置されている

この3つの条件のうち1つでも欠けるとプラグインは上手く動きません。

Twitter: @n_1215

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
32 人のユーザが現在オンラインです。 (29 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 32