sql >> Database >  >> RDS >> PostgreSQL

Django kan testopstellingen niet laden, IntegrityError

Het lijkt erop dat django dumpdata armaturen in de verkeerde volgorde heeft gedumpt. Kijk in het json-bestand om te controleren of product met id: 1 is daar aanwezig. Als dit, zoals ik veronderstel, waar is, gebruik dan wat meer geavanceerde tools om gegevens te dumpen, bijvoorbeeld django-fixture-magic

Als alternatief kunt u alle integriteitsbeperkingen verwijderen met behulp van de db-engine vlak voor het uploaden en proberen ze direct daarna opnieuw aan te maken, maar dit is enigszins riskant als er integriteitsfouten aanwezig zijn.

Raadpleeg voor PostgreSQL deze thread om te weten hoe u uw tabellendefinities kunt krijgen. In MySQL zou het ongeveer als volgt zijn:

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

Het volgende deel zou moeten werken voor oracle, postgre en 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. hoe mysql-database dynamisch van fabric te maken

  2. Bij het importeren van CSV koptekst of eerste rij overslaan

  3. EXISTS gebruiken met MySQL

  4. Verborgen prestatie- en beheersverbeteringen in SQL Server 2012/2014