Torna al blog

Configurazione di Ruby on Rails con PostgreSQL

Configurazione di Ruby on Rails con PostgreSQL

Tra tutti i motori di database disponibili, PostgreSQL è uno dei più popolari. È un noto sistema di database open-source conosciuto per la sua affidabilità, le sue solide funzionalità e le sue prestazioni. Poiché PostgreSQL è una scelta popolare, è supportato da quasi tutti i principali framework web. Similmente ai suoi concorrenti MySQL e SQLite, anche PostgreSQL ha i suoi punti di forza e di debolezza.

Ruby on Rails è un popolare framework web scritto in Ruby. È un framework indipendente dal database (database-agnostic), il che significa che può funzionare con un'ampia varietà di database. Per impostazione predefinita, Rails presuppone l'uso di SQL per le funzionalità del database. Tuttavia, supporta anche l'integrazione con PostgreSQL.

Questo tutorial ti guiderà attraverso il processo di configurazione di PostgreSQL per la tua applicazione Ruby on Rails.

Ruby on Rails e PostgreSQL

Sia PostgreSQL che Ruby on Rails sono disponibili su qualsiasi distribuzione UNIX/Linux. Dovrebbero essere disponibili nei server dei pacchetti predefiniti.

Un metodo alternativo consiste nell'utilizzare RVM (Ruby Version Manager). Si tratta di uno strumento dedicato alla gestione delle installazioni di Ruby on Rails. Il vantaggio di questo approccio è che RVM creerà un'installazione locale di Ruby on Rails. Può anche gestire più versioni di Ruby e passare da una all'altra senza problemi. Ecco un tutorial che descrive in dettaglio i passaggi per Installare Ruby on Rails con RVM su Ubuntu.

Per quanto riguarda PostgreSQL, dai un'occhiata a questa guida rapida su installare e configurare PostgreSQL su Ubuntu.

  • Installazione di RVM

Il processo di installazione di RVM è piuttosto semplice, grazie allo script di installazione offerto da RVM. Lo script è progettato per rilevare automaticamente il sistema Linux, quindi scaricare e installare tutti i pacchetti necessari. Abbiamo bisogno delle chiavi GPG di RVM per verificare i pacchetti. Ciò garantisce che i pacchetti ricevuti non siano contraffatti. Per prima cosa, aggiungi le chiavi GPG di RVM:

gpg_recv_keys Ruby on Rails with PostgreSQL

Quindi, esegui lo script di installazione di RVM:

install_rvm Ruby on Rails with PostgreSQL

Infine, verifica l'installazione:

verify_install

  • Installazione di Rails

Ora possiamo usare RVM per installare componenti aggiuntivi. Installa il framework Rails usando RVM:

gem_install_rails Ruby on Rails with PostgreSQL

  • Installazione di PostgreSQL

Il passaggio successivo richiede che PostgreSQL sia preinstallato sul sistema. Per impostazione predefinita, il modo più semplice per installare PostgreSQL è utilizzare il gestore di pacchetti predefinito. È disponibile per tutte le principali distribuzioni Linux. Dai un'occhiata alla pagina di download di PostgreSQL per tutti i metodi di installazione disponibili. Su Ubuntu, i seguenti comandi configureranno il repository di PostgreSQL e lo installeranno immediatamente:

postgresql_get

add_postgresql_keys

apt_and_postgresql_update Ruby on Rails with PostgreSQL

Per abilitare il supporto a PostgreSQL, dobbiamo installare la pg gem. Consente di interfacciarsi con PostgreSQL dal codice Ruby:

gem_install_pg

  • Configurazione di PostgreSQL

Dopo l'installazione, configureremo gli strumenti che dovremo utilizzare per i nostri progetti. Per prima cosa, passa all'utente PostgreSQL:

Accedi alla shell di PostgreSQL:

psql Ruby on Rails with PostgreSQL

Nel contesto di PostgreSQL, ora creeremo un nuovo ruolo (classicamente noto come utente). PostgreSQL ha il suo formato di ruoli e permessi. Non dimenticare di utilizzare un nome utente appropriato e una password sicura:

create_role

Creazione di un'app Rails

Dì a Rails di creare una nuova app Rails configurata per utilizzare PostgreSQL per il database:

rails_new_dummy_app

Questo creerà una nuova directory con il nome utente dell'app. Rails generalmente si aspetta che il nome utente del database e il nome dell'app siano gli stessi. Il passo successivo consiste nel configurare la configurazione del database di Rails. Il file di configurazione si trova nella seguente posizione:

Il file database.yml contiene i dati che descrivono il database appropriato per l'ambiente Rails corrente. Come suggerisce il nome del file, utilizza YAML. YAML è uno standard di serializzazione dei dati a misura d'uomo per tutti i linguaggi di programmazione.

Per impostazione predefinita, Rails si aspetta database diversi per ambienti diversi, ad esempio, development, test, e production. È utile in varie situazioni, ad esempio, Rails svuoterà e ricostruirà il test database ogni volta che viene eseguito un test Rails.

Ecco un esempio di database.yml che contiene i database di development e test :

db_yaml

È ora il momento di rendere effettive le modifiche. Il seguente comando preparerà i database necessari descritti in database.yml. Ogni database avrà i propri utenti e le tabelle schema_migrations . La tabella è necessaria per la migrazione dei dati e dello schema:

Questo passaggio fallirà se il file di configurazione di PostgreSQL pg_hba.conf contiene configurazioni non corrette. Il file si trova nella seguente posizione:

La riga seguente è l'obiettivo. Invece di peer, il metodo di autenticazione dovrebbe essere md5:

Modifica la riga:

pg_hba_conf

Per rendere effettive le modifiche, devi riavviare il servizio PostgreSQL:

Quindi, esegui nuovamente la configurazione del database:

rake_db_setup

Esecuzione di Rails

L'esecuzione del server Rails richiede il seguente componente aggiuntivo. Nota che per questo, è necessario Node.js installato (con yarn):

webpacker_install

L'app Rails dovrebbe ora essere pronta per l'avvio. Avvia il server Rails:

rails_server

Il server dovrebbe essere accessibile dal seguente URL. Atterrerà sulla pagina di destinazione di Rails:

Per rendere la pagina di destinazione più interessante, crea uno scaffold:

create_scaffold

rakedb_migrate

Infine, avvia il server e naviga nuovamente all'URL. Ora possiamo gestire i post (creazione, modifica ed eliminazione dei post).

Considerazioni finali

Questa è una configurazione di base di Ruby on Rails con PostgreSQL. C'è una guida ufficiale introduttiva che ti aiuterà a utilizzare ulteriormente Rails. L'app di esempio che abbiamo creato utilizza PostgreSQL. In questo modo, puoi creare qualsiasi app che utilizzi PostgreSQL per le sue funzionalità.

Buona programmazione!

author

Pranay Kapgate

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.