Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Đưa vào MySQL DB cho một ứng dụng Django được tài liệu hóa

MySQL (và các biến thể như Máy chủ Percona) cung cấp một cơ sở để tạo cơ sở dữ liệu trên khởi động vùng chứa đầu tiên được mô tả trong phần "Khởi tạo phiên bản mới" trong trang trung tâm docker .

Một tệp Dockerfile sử dụng kỹ thuật này sẽ giống như

FROM mysql:8
COPY seed-data.sql /docker-entrypoint-initdb.d/

Lưu ý:dấu gạch chéo ở cuối thư mục là quan trọng.

Khi bạn docker run hình ảnh này, docker sẽ tạo vùng chứa, dockerrypoint.sh"> dockerrypoint.sh -entrypoint.sh sẽ thực thi tập lệnh sql, và sau đó vùng chứa sẽ sẵn sàng để phân phát dữ liệu.

Dữ liệu sẽ tồn tại thông qua khởi động lại vùng chứa - dữ liệu gốc và các sửa đổi tiếp theo.

Bạn có thể sử dụng lại vùng chứa để có thời gian khởi động nhanh hơn - các lần khởi động vùng chứa tiếp theo sẽ không cần khởi tạo cơ sở dữ liệu hoặc khởi tạo dữ liệu. Khi bạn cần dữ liệu nguyên bản, hãy xóa vùng chứa và docker run hình ảnh một lần nữa.

Khi bạn xóa vùng chứa, hãy nhớ xóa ổ đĩa chứa dữ liệu db:docker rm -v $CONTAINER_NAME .

Tôi sử dụng phương pháp này để cung cấp dữ liệu chuẩn cho ngôn ngữ / khuôn khổ POCs cũng như CI / CD. Việc khởi tạo một cơ sở dữ liệu mới và gieo một lượng lớn dữ liệu có thể mất vài phút, vì vậy bạn sẽ cần một số logic để tạm dừng các hoạt động tự động cho đến khi bạn có thể tạo thành công kết nối db.

Hy vọng điều này sẽ giúp bạn trên con đường của bạn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối C # Mysql phải hợp lệ và mở

  2. Nhập MYSQL:Không thể lấy đối tượng hình học từ dữ liệu bạn gửi đến trường GEOMETRY

  3. Các ký tự Unicode (hệ thập lục phân) trong MySQL

  4. 2 bảng này yêu cầu quan hệ gì?

  5. Tìm nạp quy trình lưu trữ biểu mẫu ID được chèn lần cuối trong MySQL