मैं समस्याओं परीक्षण हो रही Postgresql और रेल के साथ काम करने आ रही हैं 3.PGError: त्रुटि: स्रोत डेटाबेस "Template1" अन्य उपयोगकर्ताओं
दोनों के विकास और उत्पादन डेटाबेस मैं प्राप्त कर सकते हैं ठीक से काम करने के द्वारा पहुँचा जा रहा है, फिर भी जब मैं rake
या db:test:prepare
, चलाने के परीक्षण डेटाबेस निम्न त्रुटियों फेंकता आदि
PGError: ERROR: source database "template1" is being accessed by other users
अद्यतन
, ऐसा लगता है कि एक template0
बजायका उपयोग करना चाहिए चारों ओर Googling पोस्टग्रेज़ में नया डेटाबेस बनाने के लिए createb का उपयोग करते समय। सामान्य में "तो मैं कारण हटा दूंगा। लेकिन लक्षण "फैशन, मैं vendor/rails/railities/lib/task/databases.rake
और परिवर्तित लाइन 109 पाया पढ़ने के लिए:
createdb #{enc_option} \
-U "#{abcs["test"]["username"]}" \
-T template0 #{abcs["test"]["database"]}
लेकिन मैं सच में नहीं चाहता है कि, जैसा कि मैंने एक रत्न, एक और काम में से किसी एक पता है कि के रूप में रेल का उपयोग कर रहा चारों ओर या ठीक है?
database.yml:
development:
adapter: postgresql
encoding: unicode
database: test1234_development
pool: 5
username: holden
password: postgres
test:
adapter: postgresql
encoding: unicode
database: test1234_test
pool: 5
username: holden
password: postgres
पूर्ण त्रुटि:
NOTICE: database "test1234_test" does not exist, skipping
PGError: ERROR: source database "template1" is being accessed by other users
DETAIL: There are 1 other session(s) using the database.
: CREATE DATABASE "test1234_test" ENCODING = 'unicode'
आह ... परीक्षण चलाने की कोशिश करते समय मैंने नौसेना खोल दी थी। इसे बंद करने से डेटाबेस निर्माण सफल हो गया। धन्यवाद – holden
हाँ, मेरे पास pgAdmin खुला था और यह त्रुटि Django इकाई परीक्षण चला रही थी।मैंने सोचा कि शायद वेब ब्राउज़र पर एक सत्र खुला था। मैंने सर्वर के लिए सभी ब्राउज़र टैब बंद कर दिए, और अपाचे 2 सेवा को रोकने का प्रयास किया। फिर भी यह त्रुटि उत्पन्न कर रहा था। मैंने pgAdmin बंद कर दिया और यह ठीक चला गया! जबरदस्त हंसी। धन्यवाद। – Furbeenator