Applicare una checklist di migrazione a ogni PR
Crea una skill del repository che permetta a Devin di individuare operazioni distruttive, verificare la sicurezza del rollback e convalidare le modifiche allo schema ogni volta che una PR tocca le migrazioni del database.Crea la skill per la checklist di migrazione
Una repository skill è un file markdown che esegui il commit in Una volta eseguito il commit di questo file, Devin lo considera una skill disponibile. Ogni volta che una sessione coinvolge file di migrazione in questa repository, Devin può attivare automaticamente la checklist — oppure puoi richiamarla manualmente in qualsiasi momento.
.agents/skills/<your-skill>/ in uno qualsiasi dei tuoi repository. Devin vede tutte le skill presenti in tutti i repository collegati: puoi attivarle manualmente oppure Devin può decidere di attivarle automaticamente quando rileva una situazione rilevante. Questa skill indica a Devin esattamente come revisionare le migrazioni del database prima di aprire o aggiornare una pull request (PR), intercettando gli errori che di solito sfuggono alla code review.Esegui il commit di .agents/skills/migration-checklist/migration-checklist.md nel tuo repository:Vedi come si attiva la skill in una migrazione reale
Quando Devin lavora a un task che aggiunge o modifica un file di migration, legge il diff, associa la skill migration checklist e segue la checklist prima di aprire la PR. Ecco come avviene in pratica:
- Analizza il diff — Devin vede un nuovo file in
db/migrate/e attiva la skill migration checklist - Contrassegna un’operazione distruttiva — La migration rimuove la colonna
legacy_email. Devin aggiunge un commento alla PR:remove_column :users, :legacy_emailè un’operazione distruttiva. Verificato: la migration include uno step di backup dei dati che copia i valori inuser_archivesprima della rimozione. - Aggiunge un indice mancante — La migration aggiunge
account_idalla tabellainvoicesma non prevede alcun indice. Devin aggiungeadd_index :invoices, :account_idal file di migration - Esegue il rollback — Devin esegue
bin/rails db:migrate:rollback STEP=1sul database di test, che va a buon fine - Rigenera lo schema — Devin esegue
bin/rails db:schema:dump, rileva un diff indb/schema.rbe include il file aggiornato nel commit - Esegue i test dei modelli — Tutti i test dei modelli passano. Devin apre la PR con un riepilogo di ogni controllo
Adatta la skill al tuo ORM e stack tecnologico
La checklist sopra è pensata per Rails, ma la stessa struttura funziona con qualsiasi ORM. Chiedi a Devin di riscrivere la skill per il tuo stack:
Amplia la checklist nel tempo
Ogni incidente di migrazione rivela una lacuna che la checklist non copre. Dopo ognuno, aggiungi una regola: basta un commit di una riga al file delle skill.Ecco le aggiunte più comuni che i team fanno dopo incidenti reali:Poiché il file delle skill si trova nel tuo repository, queste regole passano attraverso la code review — tutto il team è allineato su ciò che viene verificato e rimane sempre in sincronia con i tuoi strumenti di migrazione.
