उल्का ऐप - एक तैनात ऐप के डीबी को रीसेट करना


82

क्या उल्का तैनात ऐप से डेटा रीसेट करने का एक सरल तरीका है?

इसलिए, उदाहरण के लिए, अगर मैंने नाम का ऐप तैनात किया था test.meteor.com- तो मैं आसानी से उस ऐप द्वारा एकत्र किए गए डेटा को कैसे रीसेट कर सकता हूं?

स्थानीय रूप से मैं दौड़ता हूं meteor reset, लेकिन उत्पादन में क्या करना है, इसके बारे में अनिश्चित हूं।

जवाबों:


108

यदि आपके पास आपका ऐप है तो आप इसे अपने प्रोजेक्ट डायरेक्टरी में कर सकते हैं

meteor deploy test.meteor.com --delete
meteor deploy test.meteor.com 

पहला ऐप हटाता है इसलिए यह सब खाली है। दूसरा वापस इसका एक ताजा उदाहरण बताता है।


अरे @ आकाश, क्या आपको लगता है कि stackoverflow.com/questions/10214385/how-does-meteor-work को फिर से खोलना चाहिए?
दान डस्केलस्क्यू

यह एक हैक की तरह लगता है। क्या कोई साफ रास्ता नहीं है?
dcsan

क्या यह कोड अस्थायी रूप से URL को ग्रेड के लिए ले जाएगा?
मर्लिन-वे-उन्हें- 16

इसका उत्पादन में ऐप डेटा को रीसेट करने से कोई लेना-देना नहीं है, और मुझे समझ नहीं आता कि इस उत्तर को इतना
उत्थान

43

एक तरीका यह है कि आप अपने आप को मानगो उदाहरण के लिए लॉगिन करें और प्रासंगिक डेटा को हटाएं ताकि प्रति संग्रह जैसा कुछ हो:

$ meteor mongo APP.meteor.com
> db.users.drop()
> db.xxx.drop()

आप बस पूरे DB को छोड़ सकते हैं, लेकिन यह उनके env को भ्रमित करेगा और आपको --deleteऐप और फिर से तैनात करना होगा।

> db.dropDatabase()

2
यह स्वीकृत उत्तर होना चाहिए, आपने मुझे एक पुनर्निर्माण + पुनः लोड किया, धन्यवाद!
सेइमंट

लॉग इन उपयोगकर्ताओं के साथ उत्पादन में यह एक बुरी बात है!
आदापाबी

2
@ डोटनेटवाइज: आपको एक प्रोडक्शन APP.meteor.com नहीं चाहिए। कम से कम आपके पास वहां एक बीटा है, और इसके साथ एक बीटा होने के नाते, लोग इस तरह से हिचकी की उम्मीद करना जानते हैं (यदि उनका पूरा खाता और जो कुछ भी उन्होंने कभी भी किया था उसे हिचकी के रूप में गिना जा रहा है। कल्पना करें कि अगर फेसबुक ने ऐसा किया - मुझे आश्चर्य है कि कितने लोग हैं। परेशान रहना और सब कुछ फिर से बनाना।)
आर्टऑफवर्फ

महान सुझाव - बस कुछ डेटाबेस छोड़ने के लिए मुझे वास्तव में करने की ज़रूरत थी।
आर्टऑफवर्फ

3

मुझे पता है कि यह थोड़ा पुराना है, लेकिन मैंने अपना संग्रह नाम बदल दिया है। तो आपकी /lib/collections.jsफ़ाइल में,

someCollection = new Mongo.Collection("originalcollection");

हो जाता है

someCollection = new Mongo.Collection("newcollectionname");

यह निश्चित रूप से मान रहा है कि आपका ऐप डेटाबेस के लिए डेटा उत्पन्न करता है।


1
आपने यहाँ पुराना संग्रह नहीं निकाला है, आपने अभी एक नया खाली बनाया है। यदि आपने सर्वर पर चलने वाले ऐप (स्थानीय रूप से) के बजाय ऐसा किया है, तब भी आपके पास नाम संग्रह के अंदर आपके सर्वर पर डेटा मौजूद रहेगा originalcollection
कहमली

1
हाँ @krose, मुझे लगता है कि पहचान, लेकिन मुद्दा यह है कि यह आसान और तेज़ है अगर आपको कुछ परीक्षण करने की आवश्यकता है। जैसा कि दूसरों ने बताया, आप myapp.meteor.comउत्पादन के लिए उपयोग नहीं करते हैं । और अगर आपने किया, तो आप निश्चित रूप से उत्पादन डेटाबेस को गिराना नहीं चाहेंगे। मैं डेटा से समझौता किए बिना अपने मॉडल के साथ नई चीजों को सुरक्षित रूप से आज़माने के लिए यह रणनीति करता हूं IMHO की यह प्रतिक्रिया इतनी खराब नहीं थी कि यह एक डाउन वोट के लायक था, क्योंकि यह उत्पादन डेटा से निपटने का एक बहुत सुरक्षित तरीका है। फिर आप हमेशा विशिष्ट संग्रह को छोड़ सकते हैं, जैसा कि @ dcsan की टिप्पणी बताती है
डेव

1
एक त्वरित हैक की तरह लगता है आप उपयोग कर सकते हैं यदि आप जानते हैं कि आप क्या कर रहे हैं :) डाउनवोट को संतुलित करने के लिए
upvote

1

बस के रूप में आप अपने उल्का DB तक पहुँच सकते हैं

production-db-d2.meteor.io:27017/XYZ_meteor_com

जहाँ XYZ = आपका उपडोमेन

प्रमाणीकरण के लिए उल्कापिंड का उपयोग करें (उपयोगकर्ता नाम और पासवर्ड)

आप इसे रॉकमोंगो , रोबोमोगो , मोंगोई , आदि टूल्स से एक्सेस कर सकते हैं ।

कमांड लाइन से एक्सेस करने के लिए

पहले उपयोगकर्ता नाम, उल्का का पासवर्ड टाइप करके प्रमाणित करें

$ उल्का लॉगिन

फिर

$ उल्का मोंगो XYZ.meteor.com

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.