2015-03-14 5 views
7

Ich muss einige serverseitige Befehle in meiner Produktions-App ausführen, um einige Daten zu ändern, insbesondere das Hinzufügen einiger Benutzer zu neuen Rollen aus dem alanning: roles-Paket. Mein Produktionsserver wurde mit mup bereitgestellt. Laut den mup-Dokumenten lebt meine App bei/opt // app, also habe ich über ssh navigiert und die Meteor-Shell gestartet. Das scheint nicht zu funktionieren. Hat jemand andere Vorschläge zum Aktualisieren von Benutzerberechtigungen auf einem Produktionsserver?Laufende Meteor-Shell auf dem Produktionsserver im Einsatz mit Meteor

+0

"Meteor-Shell" etwas entfernt scheint nicht möglich zu sein, kaufen Sie können [+1 dieses Problem] (https://github.com/meteor/meteor/issues/4203). –

Antwort

4

Können Sie einen serverseitigen Code schreiben, der auf Meteor.startup läuft und ihn auf dem Server bereitstellen?

+0

Ich denke, das muss ich tun. Klingt wie Meteor-Shell ist nur für Entwicklungszwecke an dieser Stelle: - / – bgmaster

3

Ich würde nicht empfehlen, dies oft zu tun, aber wenn Sie zuerst eine App einrichten, können Sie die Mongo-Shell auf dem Server ausführen und Meteor Datenbank-Dokumente direkt bearbeiten.

Wenn Sie ssh in den Server und mongo ausführen, erhalten Sie die Mongo-Shell. Wenn du Meteor Up mongo für dich konfigurieren lässt, hast du Zugriff von localhost ohne jegliche Authentifizierung. Der Name der Datenbank entspricht dem Namen Ihrer App.

Führen Sie show dbs aus, um die Datenbanken in Mongo aufzulisten.

Führen Sie use myAppDatabaseName aus, um zu Ihrer App-Datenbank zu wechseln, und führen Sie show collections aus, um Ihre Sammlungen anzuzeigen.

Es sollte eine users Sammlung sein.

Sie können hier Standard-Mongo-Abfragen ausführen, sodass db.users.find() Ihnen alle Ihre Benutzer anzeigt. db.users.findOne({_id: myUserId}) holt einen einzelnen Benutzer.

Für das Rollenpaket ist es wahrscheinlich besser, einen sicheren Code zu erstellen, der beim Start ausgeführt wird, als die Datenbank direkt zu bearbeiten, da ziemlich viel passiert.