Mi sto imbattendo nello stesso problema. Un modo per aggirarlo è lasciare "id" (autoincrementato) nelle vostre fixture, e supponendo che abbiate cancellato i dati nel vostro db, collegate le chiavi esterne (nelle vostre fixture) con quello che dovrebbe essere dopo l'autoincremento.
In questo modo, da quando hai lasciato id
fuori nei dati fixture, Postgres aggiornerà la sequenza si usa per assegnare valori autoincremented per tavola di X (da X_id_seq - si può psql; \ C; \ d (alla lista DBS) ; seleziona * da X_id_seq).
Un altro modo è quello di continuare a fare ciò che si sta facendo (io e io), cioè impostare manualmente gli ID autoincrementanti e quindi modificare in qualche modo la tabella di sequenze X_id_seq per impostare il suo ultimo_valore su qualunque valore esso debba essere.
Probabilmente dovrai eseguire una query sql manuale tramite sequelize.
Un'altra opzione è quella di eseguire i propri dispositivi tramite i propri modelli. Qualcosa che stavo facendo e ora sto seriamente pensando di ritornare a ...
Edit: anche, se si sta utilizzando sequelize-infissi, si potrebbe voler dare un'occhiata al l'ultimo commento qui: https://github.com/domasx2/sequelize-fixtures/issues/43#issuecomment-147955330
Edit: problema aperto: https://github.com/domasx2/sequelize-fixtures/issues/71
Edit: Come una temperatura work-around prima di ri-scrivere tutto senza sequelize-infissi, ho usato il seguente per impostare manualmente la sequenza:
await db.sequelize.query(
`ALTER SEQUENCE "ItemInstances_id_seq" RESTART WITH ${itemInstances.length + 1};`
);
io non credo che le questioniquando lo fai (prima/dopo aver caricato i proiettori) mentre stai bypassando la sequenza comunque.