0Pricing
Flask Academy · Lezione

Creare lo schema con create_all

Generi le tabelle dalle definizioni dei model.

Creare lo schema con create_all è una lezione Flask Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Flask Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Flask Academy include 4 lezioni in totale.

Dai modelli alle tabelle

I modelli descrivono le tabelle, ma il file del database è ancora vuoto. Serve un passaggio per trasformare le dichiarazioni in tables reali. 🏗️

Conosciamo create_all

db.create_all() analizza tutti i modelli che conosce ed esegue al posto suo le istruzioni CREATE TABLE. Una sola chiamata crea l'intero schema.

db.create_all()

Richiede un contesto dell'applicazione

create_all deve essere eseguito all'interno di un application context, così può trovare la configurazione e la connessione al database corretta.

with app.app_context():
    db.create_all()

Importi prima i modelli

create_all crea le tabelle solo per i modelli imported. Se un file del modello non viene mai caricato, la relativa tabella scompare senza alcun avviso.

Lo esegua da una shell

Un modo ordinato per configurare il database è usare flask shell, dove il contesto dell'applicazione è già attivo e pronto.

flask shell

È sicuro eseguirlo di nuovo

create_all ignora le tabelle già esistenti, quindi chiamarlo due volte non causerà errori. Crea semplicemente ciò che è missing.

Non modifica le tabelle

Ecco il punto importante: create_all non changes mai una tabella esistente. Se aggiunge una nuova colonna, la vecchia tabella rimane esattamente com'era.

Elimini tutto con drop_all

Ha bisogno di ricominciare da zero durante lo sviluppo? db.drop_all() elimina tutte le tabelle e i relativi dati, quindi lo usi con grande cautela.

db.drop_all()

Sequenza di ripristino in sviluppo

Un ripristino comune in sviluppo consiste nell'eliminare le tabelle e poi ricrearle. Ricostruisce tabelle pulite, ma cancella anche tutti i data, quindi non lo esegua mai in produzione.

db.drop_all()
db.create_all()

Verifichi che sia comparso il file

Con SQLite, dopo create_all compare un file di database come app.db. La sua presenza conferma che le tabelle sono state effettivamente create.

Prossimo passaggio: le migrazioni

Poiché create_all non può far evolvere uno schema, i progetti reali passano alle migrations non appena il modello inizia a cambiare nel tempo.

Verifica rapida

Ha aggiunto una nuova colonna a un modello esistente. Che cosa fa create_all?

Riepilogo

Ha creato le tabelle con db.create_all() all'interno di un contesto dell'app, ha imparato che non modifica mai le tabelle esistenti e ha conosciuto drop_all. 🎉

Domande Frequenti

La lezione «Creare lo schema con create_all» è gratuita?

Sì — il testo completo di «Creare lo schema con create_all» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Flask Academy, passa a CoddyKit PRO. Il corso Flask Academy include 4 lezioni in totale.

Cosa imparerò in «Creare lo schema con create_all»?

Generi le tabelle dalle definizioni dei model. Eserciti Flask Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Flask Academy?

Non è richiesta alcuna esperienza precedente. Flask Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Creare lo schema con create_all»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Flask Academy?

Sì. Ogni lezione Flask Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Installare e configurare l'estensione
  2. Definire la prima classe model
  3. Colonne, tipi e vincoli
  4. Creare lo schema con create_all
← Torna a Flask Academy