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

Django tidak dapat memuat perlengkapan uji, IntegrityError

Tampaknya Django dumpdata membuang perlengkapan dalam urutan yang salah. Lihat di file json untuk memeriksa apakah product dengan id: 1 hadir di sana. Jika, seperti yang saya duga, ini benar, gunakan beberapa alat yang lebih canggih untuk membuang data, misalnya django-fixture-magic

Atau, Anda mungkin ingin menghapus semua batasan integritas melalui mesin db sebelum mengunggah dan mencoba membuatnya kembali setelahnya, tetapi ini agak berisiko jika beberapa kesalahan integritas akan muncul.

Untuk PostgreSQL, lihat utas ini untuk mengetahui cara mendapatkan definisi tabel Anda. Di MySQL itu akan menjadi seperti berikut:

$ mysqldump --no-data -utest django auth_user_user_permissions
CREATE TABLE `auth_user_user_permissions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `permission_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_id` (`user_id`,`permission_id`),
  KEY `auth_user_user_permissions_403f60f` (`user_id`),
  KEY `auth_user_user_permissions_1e014c8f` (`permission_id`),
  CONSTRAINT `user_id_refs_id_dfbab7d` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`),
  CONSTRAINT `permission_id_refs_id_67e79cb` FOREIGN KEY (`permission_id`) REFERENCES `auth_permission` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Bagian berikut harus berfungsi untuk Oracle, postgre dan mysql

> alter table `auth_user_user_permissions` drop foreign key `user_id_refs_id_dfbab7d`;
Query OK, 0 rows affected (0.97 sec)
Records: 0  Duplicates: 0  Warnings: 0

> alter table `auth_user_user_permissions` add CONSTRAINT `user_id_refs_id_dfbab7d` FOREIGN KEY (`user_id`) references `auth_user` (`id`);
Query OK, 0 rows affected (0.95 sec)
Records: 0  Duplicates: 0  Warnings: 0



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lebih Banyak SQL, Lebih Sedikit Kode, Dengan PostgreSQL

  2. Docker- Django melempar kesalahan saat menghubungkan ke postgres:psycopg2.OperationalError:tidak dapat terhubung ke server:Koneksi ditolak

  3. Memulai dan mengisi wadah Postgres di Docker

  4. PostgreSQL:Jatuhkan Database tetapi DB masih ada

  5. PostgreSQL array_agg order