Yii ver 1.1.8
PostgreSQL ver 9.0.4
PHPUnit ver. 3.5.14
PHP ver 5.3.5
Windows 7
Ho un problema che ho riscontrato via google hanno anche altri utilizzatori di Yii con PostgreSQL, ma per il quale non ho trovato una soluzione funzionante.
Sto riproducendo l’applicazione TrackStar del libro “Agile web application development with Yii and PHP5”, ma a differenza del testo che usa MySQL come db, io sto usando PostgreSQL.
La app funzia, ma c’è uno strano problema con la gestione delle fixtures per i test via PHPUnit.
Occasionalmente, ma spesso, l’esecuzione dei test mi restituisce “SQLSTATE[23503]: Foreign key violation…”.
Specifico che la app ha una tabella tbl_comment che ha una foreign key verso la tabella tbl_issue, cioè per ogni issue ci sono zero o più comment.
Sembra che il FixtureManager per qualche motivo che non comprendo cerchi di inserire le Fixtures della tabella tbl_comment prima delle fixtures della tabella tbl_issue, e quindi si crea una Foreign key violation.
Infatti se tolgo la fixture di tbl_comment tutto funzia tranne ovviamente i test sui comment.
C’è modo di intervenire sull’ordine con cui Il FixtureManager esegue le fixtures?
Grazie a tutti e buon ferragosto.