Entwickler benötigen Lesezugriff auf alle Datenbanken, einschließlich prod. Manchmal liegt das Problem darin, dass die Daten auf Prod nicht den Erwartungen entsprechen und die Daten, die das Problem verursachen, angezeigt werden müssen, da sie nicht auf dev reproduziert werden können.
Entwickler sollten keine Schreibrechte für Produktionsdaten oder Rechte zum Erstellen von Objekten haben. Es sollte nichts passieren, was nicht Teil einer offiziellen Veröffentlichung ist. Allzu oft tun die Leute eine schnelle Lösung für Produkte, die entweder nicht funktionieren, was dazu führt, dass Produkte noch mehr durcheinander geraten oder funktionieren, aber sie vergessen, den Code auf den Dev / QA / Staging-Servern abzulegen, und noch schlimmer in der Quelle Kontroll-Repository und der Code wird etwa einen Monat später in der nächsten offiziellen Version überschrieben.
Ich bevorzuge Entwickler mit vollständigen Datenbank-QA-Rechten, da sie durch die Bereitstellung auf einem anderen Server feststellen können, ob Lücken in ihrem Bereitstellungsprozess bestehen. (Hoppla, ich habe diese Tabelle entsprechend geändert. Hoppla, ich habe diese Änderung vergessen Verwenden der GUI und nicht in einem Skript in der Quellcodeverwaltung (wie etwaige strukturelle Änderungen an der Datenbank erfolgen müssen).
Wenn Sie einen neuen Client vom Typ Enterprise haben, der über einen eigenen Satz von Servern verfügt, können die Berechtigungen vor der Inbetriebnahme gesenkt werden. Das liegt daran, dass so viel passieren muss und die wenigen Leute, die es schaffen können, einen Rückstand bekommen und sich manchmal sogar eine Auszeit nehmen müssen. Insbesondere die Personen, die Daten von einem anderen System importieren, werden möglicherweise aufgefordert, diese vor dem Start auf einen Stachel zu setzen, wenn der Datenladevorgang längere Zeit in Anspruch nimmt. Bei diesen Personen handelt es sich in der Regel um Datenspezialisten, und es gibt ein höheres Maß an Komfort, ihnen vorübergehenden Zugriff auf Produkte zu gewähren, als dies bei durchschnittlichen Anwendungsentwicklern der Fall ist. Dies ist kein Luxus, den Sie haben, wenn Sie zu einem bereits aktiven Produktionsserver gehen.
Eines der wichtigsten Dinge bei der Einschränkung der Produktionsrechte für die Datenbank ist, dass die Entwickler sicherstellen müssen, dass ihre Arbeit in einer Form vorliegt, die von einer anderen Person bereitgestellt werden kann. Dies führt tendenziell zu einer Verbesserung der Qualität der Arbeit, da sie nicht sofort versuchen, Korrekturen vorzunehmen, weil sie etwas vergessen haben oder etwas nicht funktioniert haben, weil sie es auf einem anderen Produkt als auf einem Entwickler gemacht haben, wenn sie sich nur auf das Gedächtnis verlassen. Sie verlieren auch das "Ups, ich habe versehentlich die gesamte Benutzertabelle gelöscht, weil ich vergessen habe, eine Where-Klausel hervorzuheben", wenn Produktbereitstellungen ausschließlich Skripts verwenden, die als Ganzes ausgeführt werden, und nicht einen Befehl auf einmal, wie es für Entwickler typisch ist Dinge auf Stoß laufen lassen. Ein Team mit eingeschränkten Rechten für Produktdatenbanken speichert wahrscheinlich auch Datenbankänderungen in der Quellcodeverwaltung.