Re: ブロック移動でmysql error 1146

2012年4月30日 at 7:19

ご返事が遅くなり申し訳ございません。

1.外部フォームは、concrete5が使っているDBとは別に、アプリ専用DBを使っています。
  そのDBからデータを呼び出して画面に表示する外部フォームを作っています。

2.他のブロックを移動しても同じエラーが発生します。

concrete5のバグでしょうか?

Re: ブロック移動でmysql error 1146

2012年4月30日 at 8:23
バグかもしれませんが、再現状況が分からないですね。
ひょっとして、5.4.2.2からアップグレードされましたか?
 

Re: ブロック移動でmysql error 1146

2012年4月30日 at 8:42
Windows環境からLinuxに移行した際にも同様のエラーが出るようで、それを解消するアドオンもあります。
http://www.concrete5.org/marketplace/addons/database-case-sensitivity-migration/

が、今回は違うかも…。
 

Re: ブロック移動でmysql error 1146

2012年4月30日 at 10:13
はい、5.4.2.2からアップグレードしました。
Database Case Sensitivity Migration - 1.1.2を導入してみましたが、
現象は再現してしまいます。どうやら、外部フォームを削除すると、
うまく編集できるようなので、外部フォームに問題がありそうです。
 

Re: ブロック移動でmysql error 1146

2012年4月30日 at 11:30
アップグレード時にデータベースの移行が完了していない可能性があります。
下記のアドレスにアクセスしてみてください

サイトのURL/index.php/tools/required/upgrade
 

Re: ブロック移動でmysql error 1146

2012年4月30日 at 12:19
DBの移行を実行してみましたが、結果は同じでした。
 

Re: ブロック移動でmysql error 1146

2012年4月30日 at 11:10
おそらく、外部フォームのプログラムが変更になっているのに、お使いの外部フォームブロックのバージョンが古い可能性があるかも。

古いバージョンの外部フォームで

・変更する前と自分で改造した時の DIFF
・5.4.1.1 オリジナルの外部フォームと 5.5.1 オリジナルの外部フォームの DIFF

の2つを見比べ、新しいバージョンの外部フォームブロックに会ったプログラム改造を見直されると良いかもです。
 

Re: ブロック移動でmysql error 1146

2012年4月30日 at 11:40
ashiyanpo_meetingデータベースはconcrete5のコアのデータベースですか?
たぶんで申し訳ないのですが、

ashiyanpo_meetingが外部データベースであれば
$db = Loader::db(null, null, null, null, true);
上記コードで外部フォームの外部データベースを呼んだ最後に上記を入れDBをコアのデータベースに戻す必要があるんじゃないかと思います。
ちがったらごめんなさい。。。
 

Re: ブロック移動でmysql error 1146

2012年4月30日 at 12:46
ビンゴ!!! 大当たりです!。
外部DBを使っていたので、コアのDBに戻したら、エラーが出なくなりました。
本当にありがとうございます!!

concrete5でアプリがDBを使う場合は、コアDBを使う方が良いのでしょうか?
私はDBのバックアップなどを考慮して、別DBにしてしまいました。
 

Re: ブロック移動でmysql error 1146

2012年4月30日 at 13:37
外部DBに関しては一概には言えないと思いますがconcrete5外からの操作がないのであれば
僕は内部にテーブルを持ったほうがいいと思います。
それとDBをさわる場合は外部フォームではなく、ブロックを作成されるほうが運用上いいと思います。(あくまでも主観と思ってください)