Tôi đang cố gắng sử dụng UUID làm khóa chính cho ứng dụng Rails và đang gặp sự cố sau sự cố.Rails + UUID tạo lược đồ giả định UUID là một số nguyên chứ không phải là một chuỗi
Tôi đang xác định trong quá trình di chuyển này: create_table: người dùng,: id => false do | t | thì đây: thực hiện ("ALTER TABLE ADD người dùng PRIMARY KEY (uuid)")
Trong mô hình của tôi sử dụng: set_primary_key "UUID"
Sử dụng các công cụ UUID để tạo ra các UUID.
này là tất cả làm việc tuyệt vời, vấn đề Tôi hiện đang có là schema.rb mà được vẻ tạo ra như thế này:
create_table "người sử dụng",: primary_key => "UUID",: force => true do | t |
Giả định rằng cột khóa chính là số nguyên 11 thay vì chuỗi ký tự 36, do đó việc di chuyển sẽ tạo ra cơ sở dữ liệu chính xác, nhưng cơ sở dữ liệu thử được tạo không chính xác và nếu tôi chạy runke db: schema: load , nó sẽ thất bại cũng ...
Cần phải tìm ra cách để ghi đè lên cách mà schema.rb giả định rằng nếu có một cột khóa chính rằng nó sẽ là một số nguyên ....
Đó chính là giải pháp –