Ich weiß, dass dies nicht "Best Practice" ist, aber das ist eine Art temporäre Reparatur/Experiment. Ich versuche eine Aufzeichnung auf Heroku mit der Rails-Konsole zu aktualisieren, aber wenn ich sie speichere, rolle ich sie einfach zurück.Aktualisieren eines Heroku-Datensatzes mit der Rails-Konsole
UserAdmin = User.find_by(email: "[email protected]")
UserAdmin.admin = true
UserAdmin.save
Das Ergebnis ist:
(0.6ms) BEGIN
(0.6ms) BEGIN
User Exists (0.6ms) SELECT 1 AS one FROM "users" WHERE (LOWER("users"."email") = LOWER('[email protected]') AND "users"."id" != 3) LIMIT 1
User Exists (0.6ms) SELECT 1 AS one FROM "users" WHERE (LOWER("users"."email") = LOWER('[email protected]') AND "users"."id" != 3) LIMIT 1
User Exists (0.5ms) SELECT 1 AS one FROM "users" WHERE (LOWER("users"."user_name") = LOWER('example') AND "users"."id" != 3) LIMIT 1
User Exists (0.5ms) SELECT 1 AS one FROM "users" WHERE (LOWER("users"."user_name") = LOWER('example') AND "users"."id" != 3) LIMIT 1
(0.4ms) ROLLBACK
(0.4ms) ROLLBACK
Bin ich diesen falsch gehen? Gibt es einen besonderen Grund, warum die Aufzeichnung nicht auf Heroku gespeichert wird?
Etwas verrückt. Entweder haben Sie schlechte Daten in Ihrer Tabelle oder Ihre Validierungen sind durcheinander. Fügen Sie das Modell hinzu und versuchen Sie, die Daten in der Tabelle zu überprüfen, indem Sie "User.where (email:" [email protected] "). Count" ausführen, um zu sehen, ob Sie Duplikate haben. Auch Ihre Benennung ist sehr falsch - Bezeichner, die mit einem Großbuchstaben beginnen, sind Konstanten in Ruby, es sei denn, Sie benennen eine Klasse mit "snake_case". – max
Versuchen Sie es mit 'UserAdmin.save!' (Der Knall wird eine Ausnahme auslösen) und sehen Sie, welche Validierungsfehler, wenn überhaupt, Sie erhalten. – mmichael