Tôi đang làm việc trên dự án ứng dụng khởi động Spring của mình và nhận thấy rằng, đôi khi có lỗi hết thời gian kết nối với Cơ sở dữ liệu của tôi trên một máy chủ khác (SQL Server). Điều này đặc biệt xảy ra khi tôi cố gắng thực hiện một số di chuyển tập lệnh FlyWay
nhưng nó hoạt động sau vài lần thử.
Sau đó, tôi nhận thấy rằng tôi đã không chỉ định spring.jpa.hibernate.ddl-auto
trong tệp thuộc tính của mình. Tôi đã thực hiện một số nghiên cứu và nhận thấy rằng nó được khuyến khích bổ sung
spring.jpa.hibernate.ddl-auto= create-drop
trong quá trình phát triển. Và thay đổi nó thành: spring.jpa.hibernate.ddl-auto= none
in production.
Nhưng tôi thực sự không hiểu nó thực sự hoạt động như thế nào và làm thế nào để ngủ đông tạo ra lược đồ cơ sở dữ liệu bằng cách sử dụng create-drop
hoặc none
giá trị. Bạn có thể vui lòng giải thích về mặt kỹ thuật nó thực sự hoạt động như thế nào và các khuyến nghị sử dụng thuộc tính này trong quá trình phát triển và trên máy chủ sản xuất là gì. Cảm ơn bạn
none
nhưng bạn có thể muốn các bảng Hibernate Search và Envers của mình được tạo bằng cách sử dụng update
vì chúng được quản lý nội bộ bởi các dự án đó và bạn không muốn tự mình quản lý chúng theo cách thủ công. Ngay bây giờ, chúng tôi kiểm soát điều này trên toàn cầu cho tất cả các bảng bất kể nguồn gốc / nguồn của chúng. Đây sẽ là lý do để sử dụng các tùy chọn dành riêng cho nhà cung cấp nếu bạn muốn sử dụng tùy chọn này.