PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Apa yang menentukan apakah Rails menyertakan id::serial dalam definisi tabel?

Saat Anda menjalankan rails db:migrate:reset sebagai lawan dari rails db:reset , skema database tidak dimuat dari schema.rb tetapi malah direkonstruksi dari semua migrasi Anda. Dalam file migrasi dan skema, Anda tidak perlu menentukan id bidang, satu disediakan secara default. Namun, mulai dengan Rails 5.1, ukuran default bidang id ditingkatkan dari INT ke BIGINT untuk MySQL dan dari SERIAL ke BIGSERIAL untuk PostgreSQL. Jadi mungkin ada beberapa interaksi antara migrasi Anda, schema.rb , dan skema aktual dalam database yang menyebabkan bidang id diperlakukan sebagai default (dan dihilangkan) dalam beberapa kasus dan secara eksplisit ditentukan dalam kasus lain, hanya karena perubahan ukuran default. Sulit untuk menebak sumber masalahnya tanpa melihat semua file yang relevan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pg Admin 4 - kata sandi untuk pengguna postgres saat mencoba terhubung ke server PostgreSQL 13

  2. Menggunakan Kursor untuk paging di PostgreSQL

  3. Di PostgreSQL, bagaimana kita bisa tahu apakah setiap indeks tabel berkerumun atau tidak?

  4. Mendapatkan daftar komentar tabel di PostgreSQL

  5. Ancaman Keamanan PostgreSQL Teratas