Pour remplacer la commande SQL permettant de créer une référence circulaire :
ALTER TABLE Caserne
ADD FOREIGN KEY(nomRue, numRue, nomVille, cp) REFERENCES Adresse(nomRue, numRue, nomVille, cp);
on peut utiliser le code :
pragma writable_schema=1;
UPDATE SQLITE_MASTER set sql = replace(sql, 'cp INTEGER)','cp INTEGER, foreign key (nomRue, numRue, nomVille, cp) Adresse(nomRue, numRue, nomVille, cp))') where name = 'Caserne' and type = 'table';
pragma writable_schema=0;
cp INTEGER est la dernière colonne de la table Caserne