19

मैं $ bundle exec rake db:reset भागने की कोशिश की और पाया कंसोल

Couldn't drop db/development.sqlite3 : #<Errno::EACCES: Permission denied - c:/sample_app/db/development.sqlite3> 
db/development.sqlite3 already exists 
-- create_table("users", {:force=>true}) 
    -> 0.3940s 
-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true}) 

    -> 0.1280s 
-- initialize_schema_migrations_table() 
    -> 0.0010s 
-- assume_migrated_upto_version(20120419034627, ["c:/sample_app/db/migrate 
"]) 
    -> 0.0040s 

पर निम्नलिखित मैं इसे कैसे हल कर सकते हैं?

संपादित करें मैं एक ट्यूटोरियल का अनुसरण कर रहा था और यह मुझे डेटाबेस से सभी डेटा को सुरक्षित रूप से हटाने के लिए उपर्युक्त आदेश चलाने के लिए कहता है। और मैं व्यवस्थापक खाते का भी उपयोग कर रहा हूं।

+0

चेक इस बाहर डेटाबेस बनाता है। यह उपयोगी होगा http://stackoverflow.com/questions/4116067/rails-how-to-recreate-the-database – naren

+0

जानकारी के लिए धन्यवाद, लेकिन, वे आदेशों के बारे में बात कर रहे हैं, लेकिन मैं आदेश है जो उपर्युक्त त्रुटि संदेश – WowBow

उत्तर

41

जब आप db:reset करते हैं, तो यह अनुक्रम में db:drop और db:setup चला रहा है। आपका error message इंगित करता है कि db/development.sqlite हटाया नहीं जा सका।

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

+2

को आउटपुट कर रहा है मैंने रेल संसाधन का उपयोग करने वाली हर चीज को पुनरारंभ किया और सब कुछ ठीक है। – WowBow

+3

एक ही समस्या थी, रेल सर्वर को रोकना मुझे बस इतना करना था। धन्यवाद! – Shawn

+0

यह उत्तर सही है! मुझे एक ही समस्या थी और थोड़ी देर के लिए सर्वर को रोकना कमांड काम करता है। – muhnizar

1

मुझे पता है कि यह एक पुरानी पोस्ट है, लेकिन मुझे यह समस्या थी (विंडोज़ के साथ जारी स्क्लाइट 3 मुद्दों), और रिबूट करते समय, कमांड लाइन को बंद करना, और सर्वर को रोकना काम नहीं किया, मैंने इसे हल करने का प्रबंधन किया 1. बंडल कार्यकारी रेक db: वास्तव में आदेशों htanta क्रमिक रूप से ऊपर उल्लेख किया है में से प्रत्येक चलाकर छोड़ 2. बंडल कार्यकारी रेक db: 3. बंडल कार्यकारी रेक डाटाबेस बनाने के लिए: रीसेट केवल इन है: विस्थापित

db हैं वैसे भी आदेश, मुझे समझ में नहीं आता कि यह क्यों काम नहीं करता है लेकिन व्यक्तिगत आदेश क्या करते हैं?

+0

ऊपर मेरी टिप्पणी देखें। उन सभी आदेशों को चलाने के लिए 'db: माइग्रेट करें: रीसेट करें 'आज़माएं। –

+0

धन्यवाद, @grist। आदेशों को तोड़कर काम नहीं किया जब कुछ और नहीं होगा। – Jaime

1

एक ही समस्या को हल करने का प्रयास कर रहा है। विंडोज़ पर रेल सर्वर को रोकने में मदद नहीं मिली, लेकिन पूरे वातावरण को पुनरारंभ करने से चाल चल रही थी, बंडल निष्पादन रेक डीबी: रीसेट हो गया, लेकिन सुनिश्चित करें कि इससे पहले कि आप एक ही त्रुटि को कॉल कर सकें।

$ bundle exec rake db:reset 
$ bundle exec rake db:populate 
$ bundle exec rake test:prepare 

के साथ जारी रखें और उसके बाद रेल सर्वर शुरू ।

0

एक और संभावित उत्तर यह है कि आपके पास डेटाबेस फ़ाइल खुलती है। उन फ़ाइलों को बंद करें और अपने सर्वर को रोकें, और यह काम करना चाहिए।

0

पूरे डेटाबेस गिराने बस रेक db देने के लिए: यह चला जाता है और फिर से सेटअप के लिए आप