Meteor 앱 — 배포 된 앱의 DB 재설정


82

유성 배포 앱에서 데이터를 재설정하는 간단한 방법이 있습니까?

예를 들어 이름이 지정된 앱을 배포 한 경우 test.meteor.com해당 앱에서 수집 한 데이터를 어떻게 쉽게 재설정 할 수 있습니까?

로컬에서를 실행 meteor reset하지만 프로덕션에서 무엇을해야할지 잘 모르겠습니다.

답변:


108

앱이 있다면 프로젝트 디렉토리에서 할 수 있습니다.

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

첫 번째는 앱을 삭제하므로 모두 비어 있습니다. 두 번째는 새로운 인스턴스를 다시 배포합니다.


안녕하세요 @akshat, stackoverflow.com/questions/10214385/how-does-meteor-work 를 다시 열어야 한다고 생각 하십니까?
Dan Dascalescu

이것은 약간의 해킹처럼 보입니다. 더 깨끗한 방법이 없습니까?
dcsan 2014 년

이 코드로 인해 URL이 일시적으로 확보됩니까?
Merlin -they-

이 생산에 앱 데이터를 재설정과는 아무 상관이없는,이 대답은 너무 많은 upvote에있어 왜 이해가 안 돼요
MickaelFM

43

한 가지 방법은 mongo 인스턴스에 직접 로그인하고 관련 데이터를 삭제하여 컬렉션 당 다음과 같이하는 것입니다.

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

전체 DB를 삭제할 수는 있지만 환경을 혼란스럽게 만들고 --delete어쨌든 앱에 다시 배포해야합니다.

> db.dropDatabase()

2
이것은 받아 들여지는 대답이어야합니다. 당신은 나에게 재 구축 + 다시 업로드를 아끼지 않았습니다. 감사합니다!
saimeunt

로그인 한 사용자로 프로덕션에서이 작업을 수행하는 것은 나쁜 일입니다!
Adaptabi 2014

2
@DotNetWise : 프로덕션 APP.meteor.com이 있어서는 안됩니다. 기껏해야 베타 버전이 있고 베타 버전이므로 사람들은 이와 같은 딸꾹질을 예상 할 수 있습니다 (전체 계정과 삭제 된 모든 작업이 딸꾹질로 간주되는 경우. Facebook이 그렇게했다고 상상해보세요. 체류 모든 것을 다시 귀찮게 것입니다).
ArtOfWarfare

좋은 제안-단순히 데이터베이스 몇 개를 삭제하는 것이 내가 정말로 필요한 전부였습니다.
ArtOfWarfare 2015 년

3

이것이 조금 오래되었다는 것을 알고 있지만 방금 컬렉션 이름을 변경했습니다. 그래서 당신의 /lib/collections.js파일에서

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

된다

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

이것은 물론 앱이 데이터베이스에 대한 데이터를 생성한다고 가정합니다.


1
여기서는 이전 컬렉션을 제거하지 않고 비어있는 새 컬렉션을 만들었습니다. 로컬이 아닌 서버에서 실행되는 앱에서이 작업을 수행 한 경우 originalcollection.
kahmali

1
네 @krose, 나는 그것을 알고 있지만 요점은 무언가를 테스트해야 할 때 쉽고 빠르다는 것입니다. 다른 사람들이 지적했듯이 myapp.meteor.com프로덕션에 사용하지 않습니다 . 그리고 그렇게했다면 확실히 프로덕션 데이터베이스를 삭제하고 싶지 않을 것입니다. 저는이 전략을 사용하여 데이터를 손상시키지 않고 모델로 새로운 것을 안전하게 시도합니다. IMHO이 응답은 생산 데이터를 처리하는 훨씬 안전한 방법이기 때문에 반대표를받을 가치가있을 정도로 나쁘지 않았습니다. 그런 다음 @dcsan의 의견에 설명 된대로 항상 특정 컬렉션을 삭제할 수 있습니다.
Dave

1
당신이 무엇을하는지 안다면 사용할 수있는 빠른 해킹처럼 보인다 :) downvote의 균형을 맞추기 위해 upvoted :)
dcsan

1

간단히 다음과 같이 유성 DB에 액세스 할 수 있습니다.

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

여기서 XYZ = 하위 도메인

인증을 위해 meteor auth (사용자 이름 및 비밀번호)를 사용하십시오.

rockmongo , robomogo , mongoui 등 도구 에서 액세스 할 수 있습니다 .

명령 줄에서 액세스하려면

먼저 meteor의 사용자 이름, 비밀번호를 입력하여 인증

$ 유성 로그인

그때

$ 유성 몽고 XYZ.meteor.com

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.