OpenCartからDrupal 7へのデータ移行を行っています。私はDrupal 7専用のプライマリデータベースを用意しています。同じサーバー上にセカンダリデータベースを作成しました。これは、移行するOpenCartデータベースのコピーです。Drupal 7を使用してセカンダリデータベースへの偶発的な呼び出しを実行するのが難しい
重複するテーブルがたくさんあるので、私はこれを行いました。正直なところ、製品と関連情報が移行された直後にOpenCartをダンプするので、2つのデータベースをマージする必要はありませんでした。
とにかく、私は、Drupal 7がこれを簡単にサポートしているにもかかわらず、セカンダリDBで任意のクエリを実行しようとすると2番目のものを駄目にしているようです。私が「死の白いスクリーン」を意味するのはうんざりです。 develモジュールのdbクエリーロギングを有効にすると、WSODのその情報のフォーマットされていない行がいくつか出力されます。
以下は、これを行うために使用しているコードのサンプルです。ご覧のとおり、単純なselect文でさえ、完全に爆撃します。なぜ誰かがこれが起こっているかもしれないという考えを持っていますか?
私は本当にこの作業を行い、移行モジュールを使ってやりたいと思います。しかし、私は手を振って、データベースに接続してすべてのデータを巨大なXMLファイルとして出力し、マイグレーションモジュールがそれを処理できるようにする(または、集計されたデータをtempある時点でのテーブル)。
$query = Database::getConnection('opencart', 'opencart')->query("SELECT * FROM product");
if ($query != NULL) {
$row = $query->execute()->fetchObject();
echo "<pre>" . print_r($row, true) . "</pre>";
echo "<pre>" . print_r($query, true) . "</pre>";
}
else {
echo "Query is NULL.";
}
WSODの原因をサーバーエラーログで確認してください。それ以外のものは、単に「暗闇の中で突き刺す」推測です。 –
ウォッチドッグログをチェックして何も見つかりませんでした。しかし、他のログが生成されているかどうかを確認します。 – pthurmond
ウォッチドッグログは、エラーが発生しても実行が続行される場合にのみ書き込むことができます.WSODの場合はそうではありません。あなたのPHP実行環境からログを探したいかもしれません。サイトのApacheエラーログ、サイトがApacheによって提供されている場合、または異なる設定の場合は同等のものです。 –