Stato: Obsoleto
Questo articolo è obsoleto e non è più mantenuto.
Motivo
Offriamo ora tutorial aggiornati sull’uso di Rails con Postgres che sono personalizzati per piattaforme individuali.
Vedi Invece
Questo articolo potrebbe ancora essere utile come riferimento, ma potrebbe non funzionare o seguire le migliori pratiche. Raccomandiamo vivamente di utilizzare un articolo recente scritto per il sistema operativo che stai utilizzando.
Introduzione
Postgres (o PostgreSQL) è un database open source. Ruby on Rails è un framework web open source scritto in Ruby. Rails è agnostico rispetto al database, il che significa che può essere utilizzato con una varietà di database diversi. Per impostazione predefinita, si presume che venga utilizzato MySQL, ma è abbastanza semplice utilizzarlo invece con Postgres.
Questa guida ti guiderà nella creazione di un’applicazione Rails che utilizza un database Postgres. Puoi seguire la guida sul tuo computer locale o su un VPS.
Installazione dei requisiti
Installare Rails usando RVM
Il modo più semplice per installare Rails è usando RVM, che installa anche Ruby. Per installare RVM è necessario assicurarsi che il sistema abbia curl installato (come fare dipende dal proprio sistema operativo). Se hai già RVM installato, passa alla sezione successiva.
RVM può installare Ruby e Rails automaticamente come parte della sua installazione. Per farlo, esegui questo comando:
\curl -L https://get.rvm.io | bash -s stable --rails
Nota: dovresti esaminare lo script di installazione di RVM prima di eseguirlo (o qualsiasi altro script remoto che invii a bash
.
RVM si installerà sul tuo sistema. Ora puoi usarlo per gestire le versioni di Ruby. Questo è utile poiché potresti avere bisogno di versioni diverse di Ruby per progetti diversi. RVM ha anche installato il gem Rails per noi.
Installare Rails usando RubyGems
Se hai già installato RVM, non è necessario reinstallarlo. Invece, puoi semplicemente installare Rails installando il gem:
gem install rails
Questo installerà Rails e tutti gli altri gem di cui ha bisogno.
Installazione di Postgres
Il metodo di installazione di Postgres dipende dal tuo sistema operativo. Consulta postgresql.org/download per un elenco completo. In generale, è più facile utilizzare un gestore di pacchetti come apt-get su Ubuntu o Homebrew su OS X.
Se stai installando Postgres su una macchina locale, potresti voler installare anche un’interfaccia grafica (anche se questa guida assume l’uso della riga di comando). pgAdmin non è lo strumento più bello del mondo, ma fa il lavoro.
Infine, vorrai installare la gemma pg in modo da poter interagire con Postgres dal codice Ruby. Per farlo:
gem install pg
Configurazione di Postgres
Crea un utente Postgres per l’applicazione Rails che creeremo nel prossimo passaggio. Per fare ciò, passa all’utente Postgres:
su - postgres
Dopo aver fatto ciò, 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 a quale database Rails parlerà. Questo viene fatto utilizzando il file database.yml, situato in:
RAILS_ROOT/config/database.yml
Nota: RAILS_ROOT è la directory radice di Rails. Nell’esempio precedente, si troverebbe in /myapp (relativamente alla tua posizione corrente).
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. Per impostazione predefinita, Rails si aspetta un database diverso per ogni ambiente. Questo è utile perché, ad esempio, il database di test viene svuotato e ricostruito ogni volta che esegui i test di Rails. Per ciascun database, assicurati che il nome utente e la password corrispondano al nome utente e alla password che hai dato 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
Questo creerà database di sviluppo e di test, imposterà i loro proprietari con l’utente specificato e creerà tabelle “schema_migrations” in ognuno. Questa tabella viene utilizzata per registrare le tue migrazioni per schemi e dati.
Esecuzione di Rails
Ora dovresti essere in grado di avviare la tua app Rails:
rails server
Se navighi su localhost:3000 dovresti vedere una pagina iniziale di Rails. Tuttavia, questo non fa molto. Per interagire con il nostro database, creiamo uno scheletro:
rails g scaffold Post title:string body:text
rake db:migrate
Ora vai su localhost:3000/posts. Da qui, puoi creare nuovi post, modificare quelli esistenti ed eliminare post. Consulta la guida introduttiva a Rails per ulteriori operazioni introduttive.
La tua app Rails ora sta comunicando con un database Postgres!
Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ruby-on-rails-with-postgres