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

Sử dụng Mysql trong dev / prod và H2 trong thử nghiệm

Có một số thủ thuật bạn có thể thấy hữu ích.

Đầu tiên, /*! */ ký hiệu cho phép bạn thêm mã mà MySQL sẽ tuân theo, nhưng các DB khác sẽ bỏ qua, ví dụ:

create table Users (
  id bigint not null auto_increment,
  name varchar(40)
) /*! engine=InnoDB */

Nó không phải là một viên đạn màu bạc, nhưng nó sẽ cho phép bạn nghiên cứu một số điểm khác biệt giữa cú pháp của MySQL và H2. Đó là MySQL-ism, vì vậy nó sẽ không giúp ích gì cho các cơ sở dữ liệu khác, nhưng vì hầu hết các cơ sở dữ liệu khác không kỳ lạ như MySQL, bạn có thể sẽ không cần nó - chúng tôi đã di chuyển cơ sở dữ liệu của mình từ MySQL sang PostgreSQL, điều này không hỗ trợ /*! */ ký hiệu, nhưng PostgreSQL đủ tương tự với H2 mà chúng tôi không cần đến nó.

Nếu bạn muốn sử dụng một cấu hình khác cho nhà phát triển và sản phẩm, có lẽ bạn nên có thêm cấu hình cho sản phẩm. Lý do cho điều này là có thể bạn sẽ khởi động máy chủ nhà phát triển của mình với play run và khởi động máy chủ sản phẩm của bạn với giai đoạn chơi play stage; target/start . target/start có thể lấy một -Dconfig.resource tham số. Ví dụ:tạo một tệp cấu hình bổ sung prod.conf cho sản phẩm trông giống như:

include "application.conf"

# Extra config for prod - this will override the dev values in application.conf
db.default.driver=...
db.default.url=...
...

và tạo start_prod tập lệnh trông giống như:

#!/bin/sh

# Optional - you might want to do this as part of the build/deploy process instead
#play stage
target/start -Dconfig.resource=prod.conf

Về lý thuyết, bạn có thể làm theo cách khác và có application.conf chứa sản phẩm và tạo một dev.conf nhưng có thể bạn vẫn muốn một tập lệnh bắt đầu sản phẩm (có thể bạn sẽ cần thêm các tham số JVM / memory / GC hoặc thêm nó vào rc.d hoặc bất cứ thứ gì).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cơ sở dữ liệu MySQL world Cố gắng tránh truy vấn con

  2. Làm cách nào để chọn thứ gì đó trong MYSQL mà không cần chọn nó hai lần nếu nó nằm trong hàng

  3. Chuyển đổi tất cả các cột trong các hàng từ ngày tháng sang MySQL dấu thời gian

  4. Truy vấn MySql trong cake php Api

  5. MySQL select có vẻ rất chậm nhưng không thể nghĩ cách cải thiện?