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 employees
trong đó 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_id
và 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 execute
cuộ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ị.