CiviCRM子行を追加または更新できません:4.7.30から5.0.2へのアップグレード後に外部キー制約がエラーに失敗します

データベースをアップグレードするコマンドを実行した後、私は制約違反エラーを受け取りました。

civicrm_case_typeid
)外部キーは、/code>)[nativecode = 1452
**子行を追加または更新できません:外部キー制約は失敗します…

私はデータベースに外部キーを追加しようとしましたが、うまくいきませんでした。このエラーが発生しました:MySQL ERROR
1005:テーブルを作成できません(errno:150)

私のライブサイトのdbに外部キーが存在するので、liveサイトからdbバックアップをインポートしました。 db
updateコマンドを再度実行し、同じエラーが発生しました。

移行で外部キーが削除されないようにするにはどうすればよいですか?

これは私のcivicrm_caseです:

CREATE TABLE civicrm_case

id int(10)符号なしNOT NULL AUTO_INCREMENT COMMENT
‘ユニークなケースID’、    case_type_id
int(10)unsigned NOT NULL COMMENT ‘FK civicrm_case_type.id’、
   subject varchar(128)COLLATE
utf8_unicode_ci DEFAULT NULL COMMENT ‘大文字小文字の短い名前です。’、   
start_date date DEFAULT NULL COMMENT
‘指定されたケースが始まる日付。’、    end_date date DEFAULT
NULL COMMENT ‘指定されたケースが終了する日付。’、    details
テキストCOLLATE utf8_unicode_ci COMMENT ‘会議の詳細(議題、メモなど)’、   
status_id int(10)unsigned NOT NULL COMMENT
‘大文字と小文字の区別なし。’、    is_deleted
tinyint(4)DEFAULT ‘0’、   PRIMARY KEY( id )、
  KEY index_case_type_id
case_type_id )、   KEY
index_is_deletedis_deleted
  )ENGINE = InnoDB AUTO_INCREMENT = 147 DEFAULT CHARSET =
utf8 COLLATE = utf8_unicode_ci;

ベストアンサー

これを回避するには、ファイル内のSQL行をコメントアウトして、FKを削除、変更、再構築します。
/CRM/Upgrade/Incremental/sql/4.6.18.mysql.tlp

これは、FKを含まないdbを使用してアップグレードするたびに実行する必要があります。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です