Come impostare Ruby su Rails con Postgres
Stato: Deprecato
Questo articolo è deprecato e non è più mantenuto.
Motivo
Ora forniamo tutorial aggiornati per l'utilizzo di Rails con Postgres adattati alle singole piattaforme.
Vedi invece
Questo articolo potrebbe essere ancora utile come riferimento, ma potrebbe non funzionare o non seguire le procedure consigliate. Ti consigliamo vivamente di utilizzare un articolo recente scritto per il sistema operativo che stai utilizzando.
- Come usare PostgreSQL con la tua applicazione Ruby on Rails su Ubuntu 18.04
- Come usare PostgreSQL con la tua applicazione Ruby on Rails su macOS
introduzione
Rubino. Rails è indipendente dal database, il che significa che può essere utilizzato con una varietà di database diversi. Per impostazione predefinita, presuppone che venga utilizzato MySQL, ma è piuttosto facile da utilizzare con Postgres.
Questa guida ti guiderà nella creazione di un'applicazione Rails che utilizza un database Postgres. Puoi seguire la guida sulla tua macchina locale o su un VPS.
Requisiti per l'installazione
Installazione di Rails utilizzando RVM
Il modo più semplice per installare Rails è utilizzare curl installato (come lo fai dipende dal tuo sistema operativo). Se hai già installato RVM, passa alla sezione successiva.
RVM può installare Ruby e Rails automaticamente come parte della sua installazione. Per fare ciò, esegui questo comando:
\curl -L https://get.rvm.io | bash -s stable --rails
Nota: dovresti rivedere lo script di installazione di RVM prima di eseguirlo (o qualsiasi altro script remoto che inserisci in bash
.
RVM si installerà da solo sul tuo sistema. Ora puoi usarlo per gestire le tue versioni di Ruby. Questo è utile in quanto potresti richiedere diverse versioni di Ruby per diversi progetti. RVM ha anche installato per noi il gioiello Rails.
Installazione di Rails utilizzando RubyGems
Se hai già installato RVM, non è necessario reinstallarlo. Invece puoi semplicemente installare Rails installando la gemma:
gem install rails
Questo installerà Rails e qualsiasi altra gemma richiesta.
Installazione di Postgres
Il metodo di installazione di Postgres dipende dal tuo sistema operativo. Vedere postgresql.org/download per un elenco completo. Generalmente è più semplice utilizzare un gestore di pacchetti come apt-get su Ubuntu o Homebrew su OS X.
Se stai installando Postgres su una macchina locale, potresti anche voler installare una GUI (sebbene questa guida presupponga l'utilizzo della riga di comando). pgAdmin non è lo strumento più carino del mondo, ma fa il suo lavoro.
Infine, ti consigliamo di installare pg gem in modo da poterti interfacciare con Postgres dal codice Ruby. Fare così:
gem install pg
Configurazione di Postgres
Crea un utente Postgres per l'app Rails che creeremo nel passaggio successivo. Per fare ciò, passa all'utente Postgres:
su - postgres
Successivamente accedi a Postgres:
psql
Quindi crea un utente (o un \ruolo, come lo chiama Postgres):
create role myapp with createdb login password 'password1';
Creazione della tua app Rails
Per creare un'app Rails configurata per Postgres, esegui questo comando:
rails new myapp --database=postgresql
Questo crea una directory chiamata \myapp che ospita un'app chiamata \myapp” (puoi nominarla come preferisci quando esegui il comando). Rails si aspetta che il nome dell'utente del database corrisponda al nome dell'applicazione, ma puoi cambiarlo facilmente se necessario.
Ora configureremo con quale database Rails parlerà. Questo viene fatto utilizzando il file database.yml, che si trova in:
RAILS_ROOT/config/database.yml
Nota: RAILS_ROOT è la directory principale di Rails. Nell'esempio sopra, sarebbe in /myapp (rispetto alla tua posizione attuale).
Il file database.yml viene utilizzato da Rails per connettersi al database appropriato per l'ambiente Rails corrente. Utilizza YAML, uno standard di serializzazione dei dati. Ci sono alcuni database elencati qui per diversi ambienti; sviluppo, test e produzione. Di default Rails si aspetterà un database diverso per ogni ambiente. Questo è utile perché, ad esempio, il database dei test viene svuotato e ricostruito ogni volta che esegui i test Rails. Per ogni database, assicurati che il nome utente e la password corrispondano al nome utente e alla password che hai fornito al tuo utente Postgres.
Una volta configurato, il tuo database.yml dovrebbe contenere qualcosa del genere:
development:
adapter: postgresql
encoding: unicode
database: myapp_development
pool: 5
username: myapp
password: password1
test:
adapter: postgresql
encoding: unicode
database: myapp_test
pool: 5
username: myapp
password: password1
Puoi quindi eseguire:
rake db:setup
Ciò creerà database di sviluppo e test, imposterà i loro proprietari sull'utente specificato e creerà tabelle \schema_migrations in ciascuno. Questa tabella viene utilizzata per registrare le migrazioni a schemi e dati.
Rotaie correnti
Dovresti essere in grado di avviare la tua app Rails ora:
rails server
Se navighi su localhost:3000 dovresti vedere una landing page di Rails. Questo in realtà non fa molto però. Per interagire con il nostro database creiamo uno scaffold:
rails g scaffold Post title:string body:text
rake db:migrate
Ora vai alla guida introduttiva di Rails per ulteriori operazioni introduttive.
La tua app Rails sta ora comunicando con un database Postgres!