Se avete mai provato a rinominare una tabella o una colonna in Directus, conoscete già il problema: Directus tratta la rinomina come una modifica strutturale. Relazioni, permessi, automazioni e l'intera applicazione possono rompersi in un istante. Per anni questa è stata una delle funzionalità più richieste dalla community Directus, senza una soluzione integrata né un'estensione affidabile disponibile.
Ci siamo scontrati con questo problema in quasi ogni progetto consegnato ai clienti. Così abbiamo realizzato una soluzione e l'abbiamo rilasciata come estensione open source gratuita per tutti.
Il problema: in Directus non esiste una rinomina sicura
Quando rinominate una collezione o un campo in Directus, il sistema crea una nuova tabella o colonna e lascia indietro quella precedente. Tutte le relazioni con chiavi esterne, gli endpoint API personalizzati, le impostazioni di presentazione e le funzionalità dipendenti si rompono. Correggere manualmente questi riferimenti è soggetto a errori e richiede tempo, soprattutto su database grandi con decine di collezioni collegate tra loro.
Ecco l'estensione Directus Safe Rename
La nostra directus-extension-safe-rename è un'estensione Directus open source e gratuita che permette di rinominare in sicurezza collezioni e campi. Gestisce automaticamente tutti i riferimenti interni, l'aggiornamento delle relazioni e la mappatura dei permessi.
Cosa fa
L'estensione garantisce che, quando rinominate una collezione o un campo:
- Tutte le relazioni con chiavi esterne vengano aggiornate al nuovo nome
- Permessi e policy vengano preservati
- Endpoint personalizzati e automazioni continuino a funzionare
- I dati esistenti vengano migrati in sicurezza senza perdite
- Le collezioni di sistema e i campi critici siano protetti da rinomine accidentali
Perché l'abbiamo realizzata
Realizziamo soluzioni su misura basate su Directus per clienti in tutta Europa. Con la crescita della complessità dei progetti, l'assenza di una rinomina sicura è diventata un collo di bottiglia serio. Immaginate di rinominare una collezione in un sistema in produzione da cui dipendono più di 50 tabelle: aggiornare a mano ogni riferimento non è solo lento, è pericoloso.
Abbiamo controllato le issue su GitHub di Directus, i forum della community e Discord. Era una delle funzionalità più richieste. Così abbiamo deciso di risolverla come si deve e di restituire la soluzione alla community.
Installazione
L'estensione si installa come qualsiasi altra estensione Directus:
npm install directus-extension-safe-renamePoi riavviate la vostra istanza Directus. L'estensione compare nel pannello di amministrazione sotto Extensions e la funzione di rinomina è disponibile dalle impostazioni di collezioni e campi.
Istruzioni complete di installazione, esempi d'uso e schermate si trovano nel repository GitHub.
A chi serve?
A qualsiasi sviluppatore, agenzia o team Directus che abbia avuto paura di rinominare una collezione perché avrebbe rotto tutto ciò che ne dipende. Se gestite configurazioni complesse con molte collezioni in cui rinominare è rischioso, questa estensione è per voi.
Contribuire
L'estensione è rilasciata con licenza MIT e aperta ai contributi. Che siate utenti Directus esperti o alle prime armi, il vostro contributo — segnalazioni di bug, richieste di funzionalità o pull request — aiuta a migliorarla per tutti.
- GitHub: github.com/contensu/directus-extension-safe-rename
- npm:
directus-extension-safe-rename - Licenza: MIT
Chi è Contensu
Siamo un'agenzia di sviluppo software su misura che realizza sistemi CRM, siti web, strumenti interni e piattaforme e-learning per piccole e medie imprese in tutta Europa. Realizziamo e manteniamo anche strumenti open source che risolvono problemi reali incontrati nel nostro lavoro quotidiano.
Se vi serve un software su misura, scriveteci.
Interested in a solution like this?
Tell us about your business needs. We'll scope a custom solution with a fixed price.
Get a free quote →