2012-05-06 21 views
6

Trong một ứng dụng mà tôi đang hỗ trợ, gần đây tôi đã thực hiện một số thay đổi đối với cấu trúc DB.Có bất kỳ Công cụ hoặc API nào để tự động cập nhật cấu trúc cơ sở dữ liệu

Tôi gửi bản cập nhật cho người dùng nhưng rất khó để cập nhật tất cả người dùng.

Có cách nào đơn giản để thực hiện việc này không?

Điều gì đó cho phép người dùng bỏ qua phiên bản nhưng vẫn cập nhật trong phiên bản tiếp theo mà họ cài đặt.

Tôi sử dụng cơ sở dữ liệu BlackFish.

Cảm ơn

+3

Đảm bảo rằng các bản vá lỗi được áp dụng theo đúng thứ tự? Bạn không nên có bất kỳ vấn đề gì cả. – Ben

+1

Đồng ý với @Ben, nếu người dùng của bạn bỏ qua một số cập nhật, sau khi anh ấy thực hiện, hãy cài đặt tất cả các bản cập nhật trước đó theo trình tự trước khi bạn áp dụng bản cập nhật mới nhất. Đó là IMHO cách không đau đớn nhất để làm như vậy. – TLama

+3

Tôi không biết ai thực sự sử dụng SQL BlackFish. –

Trả lời

5

Chỉ cần lưu trữ số phiên bản cơ sở dữ liệu trong cơ sở dữ liệu và viết kịch bản di cư như thế này:

  • database_10.sql - cấu trúc db ban đầu
  • database_10_15.sql - kịch bản di cư để di chuyển từ 1.0 đến 1,5
  • database_10_17.sql - tập lệnh di chuyển để di chuyển từ 1.5 đến 1.7

Kiểm tra số phiên bản cơ sở dữ liệu trên mỗi lần khởi động ứng dụng và áp dụng các tập lệnh di chuyển cần thiết.

0

Side lưu ý:

Một thay thế hấp dẫn để nó còn cho dự án nhỏ là phần ACE Absolute Database.


Bây giờ đạo vào vấn đề:

Phiên bản personnal (miễn phí) đi kèm với một tiện ích cho khách hàng là DBManager (cùng với mã nguồn của nó).

enter image description here

Nó có thể phục vụ điểm như khởi đầu để làm thế nào để quản lý cơ sở dữ liệu thay đổi cấu trúc lập trình (cách Delphi!).

Tại sao không chuyển nó sang BlackFish?

0

Tôi rất hiếm khi thay đổi Cơ sở dữ liệu nhưng chỉ cần thêm một bảng hoặc đôi khi là một cột. Khi tôi khởi động chương trình của tôi nó kiểm tra sự tồn tại của cột hoặc bảng nói và nếu nó không có nó chỉ cố gắng để làm cho nó.

Các vấn đề liên quan