PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Django nie może załadować testowych urządzeń, IntegrityError

Wygląda na to, że django dumpdata zrzuciło urządzenia w złej kolejności. Zajrzyj do pliku json, aby sprawdzić, czy product z id: 1 jest tam obecny. Jeśli, jak przypuszczam, to prawda, użyj bardziej wyrafinowanych narzędzi do zrzutu danych, na przykład django-fixture-magic

Alternatywnie, możesz chcieć usunąć wszystkie ograniczenia integralności za pomocą silnika bazy danych tuż przed przesłaniem i spróbować je odtworzyć zaraz po, ale jest to nieco ryzykowne, jeśli pojawią się błędy integralności.

W przypadku PostgreSQL zapoznaj się z tym wątkiem wiedzieć, jak uzyskać definicje tabel. W MySQL wyglądałoby to tak:

$ 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;

Poniższa część powinna działać dla oracle, postgre i 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. Zapytanie PostgreSQL, aby wyświetlić wszystkie nazwy tabel?

  2. Jak przetestować wpis w crontab?

  3. Unikaj wyłącznych blokad dostępu do tabel, do których istnieją odniesienia, podczas opuszczania PostgreSQL

  4. Jak zmienić sortowanie kolumn postgresql

  5. Czy PL/pgSQL i SQL w PostgreSQL są na tym samym poziomie co standard SQL/PSM, a nie tylko jako standard SQL?