Tôi đang sử dụng di chuyển Rails để quản lý một lược đồ cơ sở dữ liệu và tôi đang tạo một bảng đơn giản, nơi tôi muốn sử dụng một giá trị không phải số nguyên làm khóa chính (cụ thể là một chuỗi). Để giải quyết vấn đề của tôi, giả sử có một bảng employeestrong đó các nhân viên được xác định bằng một chuỗi chữ và số, chẳng hạn "134SNW".
Tôi đã thử tạo bảng trong một lần di chuyển như thế này:
create_table :employees, {:primary_key => :emp_id} do |t|
t.string :emp_id
t.string :first_name
t.string :last_name
end
Điều này mang lại cho tôi là có vẻ như nó hoàn toàn bỏ qua dòng t.string :emp_idvà tiếp tục và biến nó thành một cột số nguyên. Có cách nào khác để rails tạo ràng buộc PRIMARY_KEY (tôi đang sử dụng PostgreSQL) cho tôi mà không cần phải viết SQL trong một executecuộc gọi không?
LƯU Ý : Tôi biết không tốt nhất là sử dụng cột chuỗi làm khóa chính, vì vậy vui lòng không trả lời chỉ nói thêm khóa chính số nguyên. Tôi có thể thêm một câu nào đó, nhưng câu hỏi này vẫn còn giá trị.