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

Một trường rails là một mảng các đối tượng JSON?

Khi bạn đang sử dụng postgres, bạn thật may mắn:postgres có một bản gốc json loại hình. Cách này tốt hơn so với việc sử dụng serialize để lưu trữ dữ liệu dưới dạng một số dạng chuỗi được mã hóa, vì postgres có một nhóm toán tử phong phú cho phép bạn truy vấn dữ liệu json đó.

Nếu bạn đang sử dụng postgres 9.4 thì bạn cũng có thể sử dụng kiểu jsonb. Điều này thường tốt hơn vì nó lưu trữ một phiên bản dữ liệu đã xử lý (tức là nó không phải tiếp tục sao chép lại dữ liệu nhiều lần) và nó cho phép lập chỉ mục.

Rails hỗ trợ điều này ngay lập tức (xem tại đây ), bạn chỉ cần thêm một cột kiểu json (b). Nếu quá trình di chuyển của bạn chứa

create_table :damages do |t|
  t.string :description
  t.jsonb :damage_points
end

sau đó

Damage.create(damage_points:  [{left: 40, top: 99}, {left: 100, top: 35}])

sẽ tạo một hàng với kho lưu trữ dữ liệu điểm thiệt hại dưới dạng json. Điều duy nhất cần chú ý là mặc dù dữ liệu đầu vào của bạn có ký hiệu là các khóa trong hàm băm, nhưng khi tìm nạp từ cơ sở dữ liệu, bạn sẽ luôn nhận lại các chuỗi dưới dạng khóa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm tổng hợp hoặc cửa sổ PostgreSQL để chỉ trả về giá trị cuối cùng

  2. Cách cập nhật thủ công dữ liệu thống kê của các bảng trong PostgreSQL

  3. MigrationSchemaMissing (Không thể tạo bảng django_migrations (% s)% exc)

  4. Cột lỗi c.CreateOn không tồn tại ... trong nhật ký PostgreSQL trong quá trình khởi tạo ngữ cảnh đầu tiên của mã bằng cách sử dụng nhà cung cấp Devart dotConnect

  5. cách lấy tên bảng và vị trí thứ tự cột cụ thể trong toàn bộ cơ sở dữ liệu