Ich habe eine Datenbankspalte vom Typ Text, die einen Hash in meiner Datenbank speichert.So speichern und aktualisieren Sie eine Spalte, wenn eine andere geändert wird
column_a = {sample_list: [{email: [email protected]},{email: [email protected]}]}
Ich möchte eine andere Spalte in der Datenbank erzeugen, die eine Reihe von email_address zB enthält enthält:
column_B = "[email protected],[email protected]"
Ich weiß, wie die Zeichenfolge aus dem Hash zu bekommen erzeugen, sind meine Fragen, welche Änderungen Modell Muss ich so machen, dass immer wenn column_A
aufgefüllt wird, column_B
aktualisiert werden sollte?
Wie gehe ich in diesem Fall mit Migrationen von historischen Daten um?
Ich würde mit dieser Option gehen, aber Steven sollte etwas wie '' self.collumn_b = ... 'verwenden, so dass das gleiche Datenbank-Commit beide Spalten speichert. – fanta
Deshalb habe ich einen 'before_save' Aufruf verwendet. Ich weiß nicht, welchen Code er verwendet, um die 'column_b' zu aktualisieren, aber ich würde annehmen, dass es' self.column_b = 'nicht einen direkten DB-Aufruf tun würde. und alle Änderungen, die bei einem 'before_save'-Aufruf vorgenommen werden, bleiben beim Speichern erhalten. –
ja, du hast Recht. Ich habe das gerade erwähnt, damit er es merkt ;-). – fanta