Tôi đang sử dụng Ruby on Rails 3.0.9 và tôi muốn tạo cơ sở dữ liệu sản xuất để thêm một số bản ghi mà không cần xây dựng lại tất cả cơ sở dữ liệu (nghĩa là, không xóa tất cả bản ghi hiện có mà chỉ thêm một số của những người chưa tồn tại). Tôi muốn làm điều đó vì dữ liệu mới là cần thiết để làm cho ứng dụng hoạt động.Làm thế nào để hạt giống cơ sở dữ liệu sản xuất bằng cách sử dụng đá quý Capistrano?
Vì vậy, kể từ khi tôi đang sử dụng viên ngọc Capistrano, tôi chạy lệnh cap -T
trong giao diện điều khiển để liệt kê tất cả các lệnh có sẵn và biết làm thế nào tôi có thể thực hiện những gì tôi nhằm mục đích:
$ cap -T
=> ...
=> cap deploy:seed # Reload the database with seed data.
=> ...
Tôi không chắc chắn trên từ "Reload" hiện diện trong phần "Nạp lại cơ sở dữ liệu với dữ liệu hạt giống". kết án. Vì vậy, câu hỏi của tôi là: nếu tôi chạy lệnh cap deploy:seed
trong bảng điều khiển trên máy cục bộ của mình, quy trình tạo sẽ xóa tất cả dữ liệu hiện có trong cơ sở dữ liệu sản xuất và sau đó điền hoặc lệnh đó sẽ thêm dữ liệu mới vào cơ sở dữ liệu đó nhằm mục đích để làm gì?
Lý do tại sao nó có thể được đặt trong một tệp riêng biệt? – Backo
Đôi khi bạn nên có định nghĩa chung trong một tệp riêng biệt để dễ dàng chuyển sang một dự án khác. Nếu bạn đã thêm tệp lib/deploy/seed.rb, bạn thêm phần sau vào đầu tệp deploy.rb của bạn để bao gồm nó: tải 'lib/deploy/seed' – Geekygecko
Cảm ơn rất nhiều !!! chạy "cd # {current_path}; bó exec rake db: seed RAILS_ENV = # {rails_env}" làm việc lika charm: D –