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