0

データベースを Magento バージョン 1.6.2 に更新しようとすると、次の更新スクリプトで行き詰まります。

home/html/magento/magento16/magento/app/code/core/Mage/SalesRule/sql/salesrule_setup/upgrade-1.6.0.0-1.6.0.1.php" -
 SQLSTATE[42000]: Syntax error or access violation: 1067 Fehlerhafter Vorgabewert (DEFAULT) für 'period'";i:1;s:1162:"#0 
4

1 に答える 1

1

最初に、この mysql ステートメントを使用して、「期間」という名前のすべての列を見つけようとしました。私のサンプルテキストでデータベース名を編集することに注意してください:

SELECT * 
FROM information_schema.columns
WHERE table_schema =  'your_db_name'
AND column_name =  'period'
ORDER BY table_name, ordinal_position

次に、ファイル自体を調べました (幸いなことに、ファイルは非常に小さいです)。ファイルには 2 つのモデルへの参照があるため、影響を受けるデータベース テーブルは似ているはずです。

ここに画像の説明を入力

テーブル「coupon_aggregated」に「期間」という列があります。したがって、デフォルト値を「0000-00-00」に設定し、「null」も許可します。より良い解決策があるかもしれませんが、これは私の場合に役立ちました。

ALTER TABLE  `coupon_aggregated` CHANGE  `period`  `period` DATE NULL DEFAULT  '0000-00-00' COMMENT  'Period'
于 2013-08-14T10:20:49.293 に答える