Wie add default Wert für eine Spalte Hinzugefügt, über "rails g migration' - Befehl
Weiß ich, wie man add default-Wert in der migration-Datei ist schon erstellt. d.h.,
`rails generate migration AddTestColumnToTesttable test_status:boolean` to create it.
Generieren wird es diese migration:
class AddTestColumnToTable < ActiveRecord::Migration
def change
add_column :table, :test_status, :boolean, :default => true
end
end
Aber, Können wir hinzufügen, das default-Wert durch rails g migration
Befehl selbst?
nicht dass ich wüsste. Es ist nicht in der Liste der Optionen in der guides.rubyonrails.org/migrations.html#creating-a-migration
möglich, Duplikat der how to set default-Wert der Spalte in rails beim erstellen von migration
denn Sie fragte genau das gleiche wie diese Frage.
möglich, Duplikat der how to set default-Wert der Spalte in rails beim erstellen von migration
denn Sie fragte genau das gleiche wie diese Frage.
InformationsquelleAutor Rajesh Omanakuttan | 2014-03-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht von der Befehlszeile - Sie müssen Bearbeiten Sie die migration-Datei und ändern Sie die entsprechende Zeile, um so etwas wie
Quelle - how to set default-Wert der Spalte in rails beim erstellen von migration
Und das gute daran ist, dass es updates die zuvor angelegten Felder. Zumindest versuchte ich es mit PostgreSQL und es funktionierte für mich!
InformationsquelleAutor Rajdeep Singh
**Rails 4.X +**
Immer noch, da es keine option zum hinzufügen einer neuen Spalte zu einer Tabelle mit default-Wert definiert, über den terminal in rails migration,
Die folgenden Schritte zum hinzufügen einer neuen Spalte zu einer vorhandenen Tabelle mit default-Wert true oder false.
1. Führen Sie die migration von der Kommandozeile zum hinzufügen der neuen Spalte
Den oben genannten Befehl fügen Sie eine neue Spalte in Ihrer Tabelle.
2. Legen Sie die neue Spalte mit dem Wert TRUE/FALSE durch Bearbeiten der neuen migration-Datei erstellt.
**3. Um die änderungen in Ihrer Anwendung Datenbank-Tabelle verwenden, führen Sie den folgenden Befehl in terminal**
InformationsquelleAutor Praveen George