Tôi đã nhìn thấy một số câu hỏi (cụ thể là this one) ở đây về SO về việc thêm giá trị boolean mặc định vào cột hiện có. Vì vậy, tôi đã thử đề xuất change_column
nhưng tôi không được làm đúng.Thêm: mặc định => true vào boolean trong cột Rails hiện có
tôi đã cố gắng:
$ change_column :profiles, :show_attribute, :boolean, :default => true
nào trả -bash: change_column: command not found
sau đó tôi chạy:
$ rails g change_column :profiles, :show_attribute, :boolean, :default => true
... và
$ rails change_column :profiles, :show_attribute, :boolean, :default => true
Sau đó chạy rake db:migrate
, b ut giá trị cho :show_attribute
vẫn là nil
. Trong câu hỏi tôi tham chiếu ở trên nó nói trong PostgreSQL bạn cần phải cập nhật nó bằng tay. Kể từ khi tôi đang sử dụng PostgreSQL tôi thêm những điều sau đây di cư create_profiles
tôi:
t.boolean :show_attribute, :default => true
một người nào đó có thể cho tôi biết những gì tôi đang làm sai ở đây?
Đó gọi change_column nên trong 'phương pháp up' trong di chuyển, mà là một lớp mới mà sẽ được tạo trong db/migrate /. (Phương thức 'down' phải được viết để hoàn tác những gì' up' làm.) Thực hiện thay đổi đó, sau đó 'rake db: migrate'. – rkb
Ahh, điều đó có ý nghĩa rkb hơn. Cảm ơn! – tvalent2
nó đã không làm việc cho tôi cho đến khi tôi đã viết 'def self.up' và' def self.down' –