2016-05-13 60 views
0

在試圖理解爲什麼我的看法是沒有顯示,我注意到在日誌中出現以下錯誤:Drupal的8:不匹配的實體和/或字段定義

enter image description here

我不認爲這是可能的從分類術語中刪除URL別名。至少我找不到如何做到這一點。 但是,我已經通過了所有的分類術語並刪除了該字段的值。

我也做與Pathauto如下: ​​

而且,我已經檢查了位於管理/報告/場的報告,並確認沒有使用一種稱爲URL別名字段的實體。

我已經瀏覽了每個內容項目並確保它們具有以下設置(任何人都知道如何批量執行此操作)。但仍然存在錯誤。 enter image description here

任何人都知道,然後我該如何解決這個奇怪的錯誤?

回答

2

林不完全知道這是什麼命令的作用,但它解決了這一錯誤:

drush updb --entity-updates 
0

由於https://www.drupal.org/node/2554097,在Drupal核心的魔力,照顧了更新實體定義已經一去不復返了。 drush updb --entiy-updates是這個選擇,但它不是一個銀色的子彈。相反,編寫數據庫更新更安全。

以截圖頂部作爲一個例子,這裏是一個數據庫更新,將刪除這兩個字段定義:

/** 
* Fix taxonomy and node field definitions. 
* 
*/ 
function mymodule_update_8101() { 
    $manager = \Drupal::entityDefinitionUpdateManager(); 

    if ($field = $manager->getFieldStorageDefinition('alias', 'node')) { 
    $manager->uninstallFieldStorageDefinition($field); 
    } 

    if ($field = $manager->getFieldStorageDefinition('alias', 'term')) { 
    $manager->uninstallFieldStorageDefinition($field); 
    } 
} 

爲了寫看一看可用的方法,其餘的爲https://www.drupal.org/node/2554097每個場景的數據庫更新。