最近、本番前の準備のためにサイトにいくつかの変更を加えました。
- 負荷分散アーキテクチャに移行
- memcache/memcached を使用してセッション データを維持するようになりました
- 有効な APC
データベースがスキーマを適切にロードしない原因となった思い出せない変更を加えるまで、すべてが機能していました。いくつかのデバッグの出力を次に示します。
Warning (512): SQL Error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
Query: SHOW FULL COLUMNS FROM
Warning (2): Invalid argument supplied for foreach() [APP/models/datasources/dbo/dbo_mysql.php, line 127]
Warning (2): array_keys() expects parameter 1 to be array, boolean given [CORE/cake/libs/model/datasources/dbo_source.php, line 1968]
Notice (8): Trying to get property of non-object [CORE/cake/libs/model/datasources/dbo_source.php, line 812]
Query: SHOW FULL COLUMNS FROM
Query: SHOW FULL COLUMNS FROM
Query: SHOW FULL COLUMNS FROM
Query: SHOW FULL COLUMNS FROM
Query: SHOW FULL COLUMNS FROM
Query: SHOW FULL COLUMNS FROM
ご覧のとおり、テーブル名をロードしていません。
私たちが気づいたもう 1 つの問題は、クエリが生成されると、次のように生成されることです。
SELECT Project.id FROM AS Project WHERE 1=1
テーブル名がないことに注意してください。空白のテーブル名にエイリアスを作成しようとするだけです。
何かご意見は?