2009-04-02 11 views
6

का उपयोग करना प्रारंभ करना क्षमा करें यदि यह अत्यधिक सरल है।ज़ेंड फ्रेमवर्क: SQLite

मैंने फैसला किया है कि मैं एक MySQL डेटाबेस के बजाय SQLite डेटाबेस का उपयोग करना चाहता हूं। मैं अपने सिर को लपेटने की कोशिश कर रहा हूं कि एसक्यूएलएट कितना सरल है और ज़ेन फ्रेमवर्क के साथ SQLite का उपयोग करने के तरीके पर एक सरल, एक उत्तर ट्यूटोरियल, मेरी निर्देशिका संरचना में अपना SQLite डेटाबेस कहां रखना है, डेटाबेस कैसे बनाएं, आदि।

उत्तर

7

यदि आप मौजूदा डेटाबेस से कनेक्शन नहीं करते हैं, तो फ्लाई पर डेटाबेस बनाया जाता है। (आप इस व्यवहार को बंद कर सकते हैं)

+0

यह कहां बनाया गया है? – Andrew

+0

यह साइट http://www.connectionstrings.com/sqlite कनेक्शन स्ट्रिंग descibes है। डेटा स्रोत केवल आपके द्वारा प्रदान किया गया फ़ाइल नाम है। – tuinstoel

+3

उदाहरण के लिए: कनेक्शनस्ट्रिंग = "डेटा स्रोत = सी: \ mydata \ test.db3"; – tuinstoel

8

@tuinstoel सही है, SQLite डेटाबेस से अटैचमेंट यह स्पष्ट रूप से बनाता है अगर यह अस्तित्व में नहीं है।

SQLite एक कमांड लाइन क्लाइंट का भी समर्थन करता है जो MySQL के कमांड शैल की तरह कम या कम है, जिससे आप विज्ञापन कमांड जारी कर सकते हैं या SQL स्क्रिप्ट चला सकते हैं। यहां दस्तावेज़ देखें: http://www.sqlite.org/sqlite.html

बेशक आपको अपने ZF एप्लिकेशन में Zend_Db एडाप्टर को बदलने की आवश्यकता है। जेडएफ पीडीओ एसक्यूएलएट एक्सटेंशन में केवल एक एडाप्टर का समर्थन करता है। SQLite उपयोगकर्ता/पासवर्ड प्रमाण-पत्रों का समर्थन नहीं करता है। चूंकि SQLite क्लाइंट/सर्वर के बजाय एक एम्बेडेड डेटाबेस है, इसलिए "होस्ट" पैरामीटर व्यर्थ है।

$db = Zend_Db::factory("pdo_sqlite", array("dbname"=>"/path/to/mydatabase.db")); 

एक और चेतावनी: जब आप साहचर्य सरणी प्रारूप में क्वेरी परिणाम मिलता है, SQLite के कुछ संस्करणों, सरणी में कुंजी के रूप में "tablename.columnname" का उपयोग करने पर जोर देते हैं बस के रूप में डेटाबेस वापसी चाबियों का अन्य ब्रांडों जबकि "आम नाम"। इस बारे में जेडएफ में एक उत्कृष्ट बग है, ताकि अन्य एडाप्टर के साथ SQLite को लगातार क्षतिपूर्ति करने की कोशिश की जा सके, लेकिन बग अनसुलझा है।

0

अब यह Zend Framework quickstart tutorial (संस्करण 1.9.5 इस लेखन के रूप में) में शामिल है। बस एक नई परियोजना (जेडएफ कमांड लाइन उपकरण के साथ उसे सेट अप करने पर a great tutorial के लिए यहाँ देखो।) बनाने के लिए, अपने config.ini फ़ाइल में ये पंक्तियां जोड़ सकते हैं और आप के लिए तैयार हैं:

; application/configs/application.ini 
[production] 
resources.db.adapter  = "PDO_SQLITE" 
resources.db.params.dbname = APPLICATION_PATH "/../data/db/databaseName.db" 

अब जब आप के लिए पूछना अपने डिफ़ॉल्ट डेटाबेस एडाप्टर, यह इसका उपयोग करेगा। मैं क्विकस्टार्ट ट्यूटोरियल स्रोत कोड डाउनलोड करने और load.sqlite.php स्क्रिप्ट का उपयोग करने की भी सिफारिश करता हूं। आप एक स्कीमा और डेटा फ़ाइल बना सकते हैं और डेटाबेस को इन टेबल/कॉलम/मानों के साथ लोड कर सकते हैं। यह बहुत उपयोगी है! बस the tutorial देखें। यह सब वहाँ है।


यह जवाब एक सीडब्ल्यू जवाब में सवाल से बाहर ले जाया गया था सामग्री से अधिक स्वामित्व अस्वीकार करने के लिए।

संबंधित मुद्दे