इस के पहलुओं के एक जोड़े हैं
आप बस बीज को अद्यतन करने के बाद फिर से करना rake db:seed
चाहिए: जब कोई अन्य डेटा डेटाबेस में मौजूद है आप बीज डेटा को बदलना चाहते हैं आरआरबी फ़ाइल। सुनिश्चित करें कि आपके पास उस मॉडल में कुछ भी जोड़ने का प्रयास करने से पहले MyModel.delete_all
है।
2: आप बीज डेटा को बदलना चाहते हैं, लेकिन अन्य डेटा डेटाबेस
को जोड़ा गया यह थोड़ा मुश्किल है देखते हैं। अक्सर यहाँ करने के लिए सबसे आसान बात मैन्युअल रूप से या तो कच्चे एसक्यूएल-बयान के साथ डेटा को बदलने, या PhpPpAdmin जैसे उपकरणों का उपयोग करते हैं, PhpMyAdmin आदि
अब साथ करने के लिए है, वहाँ possiby एक तरह से यह एक साथ हैक करने के लिए है , और वह seed.rb फ़ाइल में कुछ वूडू करना होगा। तो तुम rake db:seed deseed=true
चला सकते हैं, तो अपने seed.rb में:
if ENV['deseed']
#Do your deseeding action here
else
#Do your seeding here.
end
तुम भी असली पागल हो सकता है और कुछ इस तरह करते हैं:
deseed = ENV['desee']
#DANGER: Dirty hacks upcoming:
deseed? myModelCall = MyModel.method(:destroy_all): myModelCall = MyModel.method(:create)
myModelCall.call :user_id_or_whatevs => 23 #this creates or deletes a MyModel entity with the given parameters
#NOTE this might not work in all cases and I would not necessarily recommend doing this.
#<3uby
ड्रॉप डेटाबेस, दोबारा बनाएं और पुनः बीज। :) –
@ सर्वियो तुलेंटसेव: मैं सहमत हूं। लेकिन मुझे पिछले बीज से पहले डेटा पहले रखना था। मैं केवल अंतिम बीज वाले डेटा को हटाना चाहता हूं। क्या आप कृपया ऐसा करने में मेरी मदद कर सकते हैं। –
इसके लिए कोई रेक कार्य नहीं है। मैन्युअल रूप से डेटा ढूंढें और हटाएं। यदि आप इसे फिर से होने की उम्मीद करते हैं, तो एक स्क्रिप्ट लिखें। –