Làm cách nào để thêm cột vào bảng bằng ActiveRecord thông qua thiết bị đầu cuối. Tôi đang cố gắng sử dụng phương pháp add_column nhưng nó không hoạt động. Bất kỳ ý tưởng xin vui lòng?Thêm cột thông qua thiết bị đầu cuối
Trả lời
Tốt hơn là viết di chuyển và phải nếu bạn đang làm việc với một nhóm. Khi bạn thực hiện thay đổi db, thì môi trường của mỗi nhà phát triển cũng phải được cập nhật. Nếu không, bạn sẽ có một số nhà phát triển điên tại bạn.
rails generate migration AddPartNumberToProducts part_number:string
sẽ tạo
class AddPartNumberToProducts < ActiveRecord::Migration
def change
add_column :products, :part_number, :string
end
end
Sau đó, bạn chạy di cư
rake db:migrate
http://guides.rubyonrails.org/migrations.html
Edit:
Đối với câu trả lời một đường ray giao diện điều khiển dòng lệnh kiểm tra @ tadman hoặc sử dụng những gì Bengala đề xuất như
ActiveRecord::Migration.add_column :products, :part_number, :string
Nếu bạn chỉ đang hack xung quanh, nó thường dễ dàng thao tác cơ sở dữ liệu bằng cách sử dụng một khách hàng SQLite của một số loại hơn là thông qua lớp Rails DB.
Nếu bạn đang thực hiện việc này cho một dự án, hãy tạo tệp di chuyển thích hợp và chạy tệp đó.
Nếu bạn quyết tâm thực hiện việc này, phương pháp add_column
có sẵn thông qua đối tượng trình điều khiển ActiveRecord::Base.connection
.
Bạn có thể chạy di cư trực tiếp trong đường ray console rails c
với ActiveRecord::Migration
Đối với mục đích của bạn lệnh tiếp theo sẽ làm những gì bạn yêu cầu:
> ActiveRecord::Migration.add_column :table_name, :field_name, :field_type
Cảm ơn bạn vì điều này. Tất nhiên, tốt hơn hết là nên viết di chuyển gần như mọi lúc. Nhưng _sometimes_, bạn biết chính xác những gì bạn đang làm và chỉ muốn chạy thay đổi trực tiếp :) – FeifanZ
Có, nhưng anh ta không hỏi cách di chuyển, anh ấy hỏi cách thêm cột thông qua thiết bị đầu cuối. Và tôi nghĩ đây là câu trả lời phù hợp. – Bengala
- 1. Tải lên thư mục qua thiết bị đầu cuối Mac
- 2. Cách gửi EOF qua thiết bị đầu cuối Windows
- 3. thực hiện các lệnh trên thiết bị đầu cuối trong linux thông qua java
- 4. thế nào để chạy mysql trong ubuntu thông qua thiết bị đầu cuối
- 5. Nhập Mô-đun Python trong Thiết bị đầu cuối nhưng không thông qua Unix Shell
- 6. linux - viết lệnh từ một thiết bị đầu cuối đến một thiết bị đầu cuối khác
- 7. Thiết bị đầu cuối Bash Chuyển hướng đến một Thiết bị đầu cuối khác
- 8. bắt đầu MongoDB và trở về thiết bị đầu cuối
- 9. RPG dựa trên thiết bị đầu cuối
- 10. màu thiết bị đầu cuối trong ruby?
- 11. Thiết bị đầu cuối mở từ Eclipse
- 12. Lệnh cuối cùng trong cùng thiết bị đầu cuối
- 13. xóa đầu ra của thiết bị đầu cuối trên linux
- 14. Meta và # trong thiết bị đầu cuối Mac của Anh
- 15. Làm cách nào để mô phỏng nhấp chuột qua thiết bị đầu cuối mac?
- 16. Thiết bị đầu cuối dường như không được kéo qua .tiểu sử tự động
- 17. Cách tạo tệp .jar bằng thiết bị đầu cuối
- 18. Cách bảo quản màu emacs từ thiết bị đầu cuối thông thường đến màn hình gnu
- 19. Hoạt động nhắn tin giống như thiết bị đầu cuối
- 20. Tạo và lưu trữ hàng loạt ứng dụng iOS qua Thiết bị đầu cuối
- 21. kết hợp blob servlet với thiết bị đầu cuối api
- 22. Cách chỉnh sửa/lưu tệp qua Thiết bị đầu cuối Ubuntu
- 23. Lệnh hoạt động trong thiết bị đầu cuối, nhưng không qua QProcess
- 24. Nhập vào thư mục qua bí danh trong thiết bị đầu cuối Mac OS X
- 25. Thiết bị đầu cuối tương tác trong VIM
- 26. mở một thiết bị đầu cuối từ python
- 27. In thiết bị đầu cuối động bằng python
- 28. lệnh thiết bị đầu cuối để nhập tệp mysql
- 29. Cách kiểm tra HZ trong thiết bị đầu cuối?
- 30. thiết bị đầu cuối vim không tải .zshrc
Bạn đang sử dụng cơ sở dữ liệu nào? – cdesrosiers
Tốt hơn nên viết di chuyển –
Im sử dụng giá trị mặc định của đường ray, nếu tôi không nhầm, là SQLite ... Tuy nhiên, nó không quan trọng vì tôi đang trừu tượng hóa mã SQL bằng cách sử dụng ActiveRecord. Tôi tạo ra một mô hình tài khoản và quên để chèn một tên trường email và muốn thêm nó ... – Sweebo