Blog Kategori:
Eğer ki drupal ile çalışırken panels node eklemeye çalışırken DatabaseSchemaObjectExistsException: Table panels_display already exists. in DatabaseSchema->createTable() hatası alıyorsanız. Aşağıdaki adımları takip edin.
1-
diff --git a/includes/common.inc b/includes/common.inc index 3b4bf58..c5ebf7a 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -6941,7 +6941,9 @@ function drupal_install_schema($module) { _drupal_schema_initialize($schema, $module, FALSE); foreach ($schema as $name => $table) { - db_create_table($name, $table); + if (!db_table_exists($name)) { + db_create_table($name, $table); + } } }
2-
/includes/database/schema.inc dosyasındaki 658. satırdaki
public function createTable($name, $table) {
if ($this->tableExists($name)) {
kodundan sonra
drupal_set_message(t('Table %name already exists.', array('%name' => $name)));
kodunu ekleyin.
throw new DatabaseSchemaObjectExistsException(t('Table @name already exists.', array('@name' => $name)));
kodundan sonra da
return;
kodunu ekleyin.
3- Tüm önbellek ve authcache gibi önbelleklemeleri temizleyin. Gerekirse veritabanınızdaki cache_.... diye başlayan önbellekleri de temizleyin.
4- Panels ile ilgili eklentileri devre dışı bırakıp kaldırın.
5- update.php dosyanızı çalıştırın.
6- Panels ile ilgili eklentilerinizi yeniden aktif edin.
7- update.php dosyanızı tekrar çalıştırın.
Sorun çözülecektir. İyi çalışmalar.