Có dễ dàng cài đặt/sử dụng (trên Unix) các công cụ di chuyển cơ sở dữ liệu như Rails Migrations không? Tôi thực sự thích ý tưởng, nhưng cài đặt ruby / ray hoàn toàn để quản lý di chuyển cơ sở dữ liệu của tôi có vẻ quá mức cần thiết.Di chuyển cơ sở dữ liệu giống như Rails?
Trả lời
Chỉ cần sử dụng ActiveRecord và một tệp Rakefile đơn giản. Ví dụ, nếu bạn đặt di cư của bạn trong một thư mục db/migrate
và có một tập tin database.yml
có cấu hình db của bạn, Rakefile đơn giản này nên làm việc:
Rakefile:
require 'active_record'
require 'yaml'
desc "Migrate the database through scripts in db/migrate. Target specific version with VERSION=x"
task :migrate => :environment do
ActiveRecord::Migrator.migrate('db/migrate', ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
end
task :environment do
ActiveRecord::Base.establish_connection(YAML::load(File.open('database.yml')))
ActiveRecord::Base.logger = Logger.new(STDOUT)
end
database.yml:
adapter: mysql
encoding: utf8
database: test_database
username: root
password:
host: localhost
Sau đó, bạn sẽ có thể để chạy rake migrate
và có tất cả sự tốt lành di cư mà không có một surr ounding đường ray ứng dụng.
Ngoài ra, tôi có một tập lệnh bash thực hiện chức năng rất giống với di chuyển ActiveRecord, nhưng chúng chỉ hoạt động với Oracle. Tôi đã từng sử dụng chúng trước khi chuyển sang Ruby và Rails. Họ có phần phức tạp và tôi không hỗ trợ cho họ, nhưng nếu bạn quan tâm, hãy liên hệ với tôi.
Tôi chưa đích thân làm điều đó, nhưng có thể sử dụng ActiveRecord :: Migration mà không có bất kỳ nội dung nào khác của Rails. Thiết lập đường dẫn tải chính xác sẽ là phần khó, nhưng thực sự tất cả những gì bạn cần là các nhiệm vụ rake
và thư mục db/migrate
cộng với bất kỳ đá quý nào mà chúng phụ thuộc vào, có lẽ là activerecord
, actviesupport
và có thể một số khác như railties
. Tôi sẽ thử nó và chỉ xem những gì lớp bị thiếu và thêm những người trong.
Tại một công ty trước đây, chúng tôi đã xây dựng một công cụ về cơ bản những gì ActiveRecord :: Migration thực hiện, ngoại trừ nó được viết bằng Java như một plugin Maven. Tất cả nó đã được lắp ráp các đốm màu văn bản của các kịch bản SQL. Nó chỉ cần được thông minh về tên tập tin đi theo thứ tự và biết làm thế nào để cập nhật một phiên bản bảng.
Ngoài ra còn có một dự án được gọi là Java Database Migrations. Để lấy mã, hãy kiểm tra số Google Code page for the project.
Tôi thấy chủ đề này thực sự cũ, nhưng tôi sẽ tiếp tục phát triển cho các googlers trong tương lai.
Tôi thực sự thích sử dụng SQLAlchemy của Python và SQLAlchemy-Migrate để quản lý cơ sở dữ liệu mà tôi cần để kiểm soát phiên bản, nếu bạn không muốn đi tuyến ActiveRecord :: Migrate.
Có vẻ thú vị, cảm ơn –
Dự án này được thiết kế để cho phép di cư kỷ lục hoạt động được chạy mà không cần cài Rails:
https://github.com/bretweinraub/rails-free-DB-Migrate
Cài đặt nó (git clone nó) và sử dụng nó như một cơ sở cho dự án của bạn.
Dưới đây là một công cụ để làm điều này bằng văn bản trong Haskell:
- 1. Rails + PostGIS lỗi di chuyển cơ sở dữ liệu
- 2. Di chuyển cơ sở dữ liệu MySQL phát triển sang cơ sở dữ liệu sản xuất
- 3. Meteor cách thực hiện di chuyển cơ sở dữ liệu?
- 4. Entity Framework 5 Di chuyển: Thiết lập di chuyển ban đầu và hạt giống đơn của cơ sở dữ liệu
- 5. Cách di chuyển dữ liệu và cài đặt từ cơ sở dữ liệu này sang cơ sở dữ liệu khác?
- 6. Nhiều cơ sở dữ liệu trong Rails
- 7. Cách sao lưu và khôi phục cơ sở dữ liệu ORACLE 11g Giống như cơ sở dữ liệu SQL2005
- 8. Cơ sở dữ liệu hợp nhất Rails
- 9. Cơ sở dữ liệu sharding and Rails
- 10. Hủy/Xóa cơ sở dữ liệu trong Rails
- 11. Chuyển dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác
- 12. Làm cách nào để di chuyển Sơ đồ cơ sở dữ liệu SQL Server sang cơ sở dữ liệu khác?
- 13. Di chuyển bảng từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong MySQL
- 14. Thiết lập cơ sở dữ liệu không có dữ liệu hạt giống
- 15. Cơ sở dữ liệu giống hệt trong Flask-SQLAlchemy
- 16. iOS: Di chuyển cơ sở dữ liệu lõi dữ liệu hiện có vào iCloud
- 17. Làm cách nào để kiểm tra di chuyển cơ sở dữ liệu?
- 18. Cách thêm dữ liệu hạt giống mới vào cơ sở dữ liệu đường ray hiện có
- 19. Chuyển đổi cơ sở dữ liệu Postgres thông thường thành cơ sở dữ liệu không gian
- 20. Cách chuyển đổi cơ sở dữ liệu Visual Foxpro sang cơ sở dữ liệu SQL Server
- 21. Cơ sở dữ liệu đối tượng cho Ruby on Rails
- 22. Tại sao di chuyển cơ sở dữ liệu không thành công trong trường hợp dữ liệu blob trong đường ray?
- 23. Di chuyển các thay đổi cơ sở dữ liệu từ phát triển sang sống
- 24. Di chuyển cơ sở dữ liệu SQLite sang Microsoft SQL Server
- 25. Chỉ đọc các hàng mới từ một bảng giống như log trong cơ sở dữ liệu
- 26. Điều gì đó giống như kế thừa trong thiết kế cơ sở dữ liệu
- 27. Cơ sở dữ liệu MySQL có thể mở rộng để nhắn tin giống như thư
- 28. Tornado. Django giống như testrunner và kiểm tra cơ sở dữ liệu
- 29. Tìm kiếm cơ sở dữ liệu giống như redis trên đĩa
- 30. Định tuyến Rails động dựa trên cơ sở dữ liệu
Trông thú vị, nhưng tôi không thể tìm thấy việc tải xuống cho nó? –
Dường như có ít nhất kho lưu trữ nguồn. Tôi đã chỉnh sửa câu trả lời gốc để hiển thị mà không cần mở rộng nhận xét. Hy vọng điều đó sẽ hữu ích. – Otto
"Dự án này hiện không có tải xuống." :( –