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

Điều gì xác định nếu rails bao gồm id::serial trong một định nghĩa bảng?

Khi bạn chạy rails db:migrate:reset trái ngược với rails db:reset , lược đồ cơ sở dữ liệu không được tải từ schema.rb nhưng thay vào đó được tạo lại từ tất cả các lần di chuyển của bạn. Trong các tệp lược đồ và di chuyển, bạn không cần chỉ định id , một trường được cung cấp theo mặc định. Tuy nhiên, bắt đầu với Rails 5.1, kích thước mặc định của trường id đã tăng lên từ INT thành BIGINT cho MySQL và từ SERIAL thành BIGSERIAL cho PostgreSQL. Vì vậy, có thể có một số tương tác giữa các lần di chuyển của bạn, schema.rb và lược đồ thực tế trong cơ sở dữ liệu đang khiến trường id được coi là mặc định (và bị bỏ qua) trong một số trường hợp và được chỉ định rõ ràng trong các trường hợp khác, chỉ do thay đổi kích thước mặc định. Thật khó để đoán được nguồn gốc của vấn đề nếu không xem tất cả các tệp liên quan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trình tự hóa và xác thực ngang hàng cho Postgres?

  2. Có thể tạo cơ sở dữ liệu postgres trong dòng lệnh nhưng không phải trong tập lệnh bash

  3. Làm thế nào để viết một mẫu T4 để tạo DTO từ Entityframework 6?

  4. Lỗi trong LINQ (cột không tồn tại) khi sử dụng Entity Framework

  5. Chuyển đổi cột gấu trúc sang danh sách PostgreSQL?