2013-06-03 8 views
7

phpMyAdmin 4.0.2 kullanıyorum ve tüm DB üzerinde bir ihracat yaparken, varsayılan olarak, ihracat SQL'in başlangıcında "OLUŞTURMA OLMADIĞINDAN DATEABASE OLUŞTUR" ifadesini ekler.phpMyAdmin 4'te Export'tan "CREAT DATABASE IF NOT EXISTS" ifadesi nasıl kaldırılır?

Bir yapılandırma seçeneği veya bu özelliği devre dışı bırakma seçeneği bulamadı ... Öyleyse, bunu devre dışı bırakmanın bir yolu var mı?

+1

Oraya sahip olmak acıyor mu? Neden buna ihtiyacın var? –

+3

Sadece büyük veritabanları için ben dev yerel DB'mden bir dosyaya aktarmak ve sunucu DB'ye aktarmak istiyorum. Yerel veritabanı adı sunucudaki veritabanı adından farklı olduğunda ve dosyayı sunucuya aktardığımda, aynı DB'yi oluşturmaya çalışırken bir hata verir, ancak farklı bir adla ... bu mantıklıysa. – Vlad

+0

Sadece phpMyAdmin changelog (http://www.phpmyadmin.net/documentation/changelog.php) üzerinden bakın ve bu davranışın 24 Mayıs 2013 tarihinde 4.0.2.0 sürümünde sunulduğu görülüyor. Neyse ki (bu da bana neden oluyordu) evreleme ve canlı veritabanı isimleri için farklı olan yerel veritabanı isimleri kullanıldığında gereksiz zorluklar yaşanıyor. Bu, 4 Ağustos 2013 tarihinde 4.0.5.0 sürümünde bunu tekrar değiştirmiş gibi görünüyor ve bunu bir seçenek yaptı (varsayılan olarak yanlış). – Stephen

cevap

2

Bu davranış, sürüm 3'te varsayılan olarak gerçekleşmemiştir. Hızlı bir düzeltme, aslında bir kesmek ve bu nedenle istenen çözüm değil, kütüphaneler/eklentiler/dışa aktarma/ExportSql.class.php dosyasında bulunan dışa aktarma sınıfı dosyasını düzenlemek ve Hattı 709

$create_query = '-- CREATE DATABASE IF NOT EXISTS ' 

Hat 734

'-- USE ' . PMA_Util::backquoteCompat($db, $compat) 

Düzenleme: bir dezavantaj var ve bu olduğu gibi, onlardan önce - "" ekleyerek dışarı yorum edilecek CREATE ve KULLANIM ifadeleri zorlamak Bir veya daha fazla ent dışa aktarırsanız Ire veritabanları (sadece bir veritabanı veya bir veritabanı içinde tabloları) veya daha sonra CREATE ve USE deyimleri de görünür.

+0

Bu hile yapmak gibi görünüyor. Teşekkürler! – Vlad

+3

Peki, paylaşılan hosting üzerinde phpmyadmin kullanıyorsanız gerçekten bir çözüm değil, şimdi –

0

Hermes'ın cevabının aksine daha iyi bir fikir, dosyayı ./export.php (Uyarı: db_export.php) dosyasını düzenlemek olacaktır.

hattı 724 günü (phpMyAdmin 4.0.4) sizi satırları bulabilirsiniz:

if (! $export_plugin->exportDBCreate($db)) { 
     break; 
    } 

Yorum yapmak ya bence de hangisi (yaratmak veritabanı tabloların oluşturmayı atlamak bunları kaldırabilirsiniz daha sonra, ihracatta 2 yorum satırına sahip olur. böylece gibi

: sadece yukarıda satırlar tek bir veritabanı ihraç için geçerli

/* 
    if (! $export_plugin->exportDBCreate($db)) { 
     break; 
    } 
    */ 

(hat 720 üzerinde, bulacaksınız: } elseif ($export_type == 'database') {). Yani tam sunucu ihracatı kırmayacaksınız.