Domanda

Quindi qual è il modo migliore per creare nuove tabelle in un database Sqlite in Rails 2. Ho creato il database usando il comando rake db: migrate. Quindi dovrei scrivere singoli script sql per creare un database o usare il rake in qualche modo. Non ho bisogno di impalcature.

È stato utile?

Soluzione

Utilizza fondamentalmente le migrazioni.

Alcuni utili aiuti su come utilizzare le migrazioni sono disponibili all'indirizzo http: //wiki.rubyonrails. org / rails / pages / knowledgemigrations e http://wiki.rubyonrails.org/ rails / pages / UsingMigrations . Un buon cheatsheet che uso è disponibile anche su http://dizzy.co.uk/ ruby_on_rails / cheatsheets / rotaie-migrazioni .

Fondamentalmente le migrazioni usano il codice ruby ??per creare le tabelle del database per te. È molto più facile (almeno secondo me) usare un bel codice ruby ??per farlo piuttosto che SQL DDL - fa anche varie cose automaticamente per te (come l'aggiunta di campi id a tutte le tue tabelle come rotaie richiede). È quindi possibile utilizzare le attività di rake per applicare effettivamente le migrazioni al database. L'altro grande vantaggio che le migrazioni ti danno è che sono reversibili, quindi il tuo database è aggiornato e puoi facilmente passare da una versione all'altra.

Altri suggerimenti

Cerca di evitare di scrivere gli script di tabella CREATE / ALTER e usa invece le migrazioni ActiveRecord. Alcuni motivi vengono in mente:

  • Portabilità: è molto più facile da lasciare Affare AR con sapore multipiattaforma differenze
  • Cambia controllo: tuo le migrazioni possono gestire le modifiche in entrambe le direzioni con la VERSIONE = opzione, qualcosa che non è facile fare con SQL
  • È il modo di Rails: seguire le convenzioni di Rails a meno che hai un motivo convincente per non farlo fallo
  • Semplicità: non devi preoccuparti delle colonne id e timestamp quando usi le migrazioni, il che ti evita di doverle ricordare se lavori in SQL

Se non si utilizza l'impalcatura, è necessario utilizzare script / generare migrazione per creare un file di migrazione per ogni tabella. Non è necessario utilizzare gli script sql. Dopo aver creato alcune migrazioni puoi applicarle al tuo database usando rake db: migrate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top