Meteorアプリ—デプロイされたアプリのDBをリセットします


82

流星がデプロイされたアプリからデータをリセットする簡単な方法はありますか?

たとえば、という名前のアプリをデプロイした場合test.meteor.com、そのアプリによって収集されたデータを簡単にリセットするにはどうすればよいでしょうか。

私は地元で経営meteor resetしていますが、本番環境で何をすべきかわかりません。

回答:


108

アプリを持っている場合は、プロジェクトディレクトリでこれを行うことができます

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

1つ目はアプリを削除するため、すべて空白になります。2つ目は、その新しいインスタンスをデプロイし直します。


ねえ@ akshat、stackoverflow.com / questions / 10214385 / how - does - meteor - workを再開する必要があると思いますか?
ダンダスカレスク2014年

これはちょっとしたハックのようです。よりクリーンな方法はありませんか?
dcsan 2014年

このコードにより、URLが一時的に取得できるようになりますか?
マーリン-彼ら-彼ら

これは本番
環境での

43

1つの方法は、mongoインスタンスに自分でログインし、関連するデータを削除して、コレクションごとのようにすることです。

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

DB全体を削除することもできますが、それでは環境が混乱し--delete、アプリを使用して再デプロイする必要があります。

> db.dropDatabase()

2
これは受け入れられた答えであるはずです、あなたは私に再構築と再アップロードを免れました、ありがとう!
saimeunt 2014年

ログに記録されたユーザーを使用して本番環境でこれを行うのは悪いことです。
Adaptabi 2014年

2
@DotNetWise:本番用のAPP.meteor.comは想定されていません。せいぜいそこにベータがあり、それがベータであるため、人々はこのようなしゃっくりを期待することを知っています(アカウント全体とこれまでに削除されたすべてのものがしゃっくりとしてカウントされる場合。Facebookがそれを行ったと想像してください-何人の人がいるのだろうか滞在してすべてを再作成するのは面倒です。)
ArtOfWarfare 2015年

素晴らしい提案-いくつかのデータベースを削除するだけで、本当に必要なことはすべてできました。
ArtOfWarfare 2015年

3

これは少し古いことは知っていますが、コレクション名を変更しただけです。だからあなたの/lib/collections.jsファイルでは、

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

になります

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

もちろん、これはアプリがデータベースのデータを生成することを前提としています。


1
ここでは古いコレクションを削除していません。新しい空のコレクションを作成しただけです。(ローカルだけでなく)サーバー上で実行されているアプリでこれを行った場合でも、という名前のコレクション内のサーバーにデータが保持されますoriginalcollection
kahmali 2015

1
ええ@krose、私はそれを認識していますが、重要なのは、何かをテストする必要がある場合、それは簡単で速いということです。他の人が指摘したように、あなたはmyapp.meteor.com本番環境には使用しません。もしそうなら、あなたは間違いなく本番データベースを単に削除したくないでしょう。私はこの戦略を実行して、データを危険にさらすことなく、モデルで新しいことを安全に試します。私見では、この応答は、本番データを処理するためのはるかに安全な方法であるため、反対票を投じるに値するほど悪くはありませんでした。@dcsanのコメントで説明されているように、特定のコレクションをいつでも削除できます
Dave

1
あなたが何をしているのかを知っているなら、あなたが使うことができる簡単なハックのようです:)反対票のバランスをとるために賛成:)
dcsan 2015

1

単にあなたはあなたの流星DBにアクセスすることができます

プロダクション-db-d2.meteor.io:27017 / XYZ_meteor_com

ここで、XYZ =サブドメイン

認証にはmeteorauth(ユーザー名とパスワード)を使用します

rockmongorobomogomongouiなどのツールからアクセスできます。

コマンドラインからアクセスするには

まず、ユーザー名、流星のパスワードを入力して認証します

$流星ログイン

次に

$ meteor mongo XYZ.meteor.com

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.