Tôi đã thấy một vài câu hỏi (cụ thể là câu hỏi này ) ở đây về SO về việc thêm giá trị boolean mặc định vào một cột hiện có. Vì vậy, tôi đã thử change_column
đề xuất nhưng tôi không được thực hiện đúng.
Tôi đã thử:
$ change_column :profiles, :show_attribute, :boolean, :default => true
Trả về -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
, nhưng giá trị :show_attribute
vẫn còn nil
. Trong câu hỏi tôi đã tham chiếu ở trên, nó nói trong PostgreSQL bạn cần cập nhật thủ công. Vì tôi đang sử dụng PostgreSQL, tôi đã thêm vào phần sau trong create_profiles
quá trình di chuyển của mình :
t.boolean :show_attribute, :default => true
Ai đó có thể cho tôi biết những gì tôi đang làm sai ở đây?
up
phương thức trong quá trình di chuyển, đây là một lớp mới sẽ được tạo trong db / di chuyển /. (down
Phương pháp nên được viết để hoàn tác những gìup
.) Thực hiện thay đổi đórake db:migrate
.