Como Configurar o Ruby on Rails com Postgres

Estado: Obsoleto

Este artigo está obsoleto e não é mais mantido.

Motivo

Agora fornecemos tutoriais atualizados para usar o Rails com o Postgres que são adaptados a plataformas individuais.

Veja em vez disso

Este artigo ainda pode ser útil como referência, mas pode não funcionar ou seguir as melhores práticas. Recomendamos fortemente o uso de um artigo recente escrito para o sistema operacional que você está usando.

Introdução


O Postgres (ou PostgreSQL) é um banco de dados de código aberto. O Ruby on Rails é um framework web de código aberto escrito em Ruby. O Rails é agnóstico em relação ao banco de dados, o que significa que pode ser usado com uma variedade de bancos de dados diferentes. Por padrão, ele assume que o MySQL está sendo usado, mas é muito fácil usar o Postgres em seu lugar.

Este guia irá guiá-lo na criação de uma aplicação Rails que utiliza um banco de dados Postgres. Você pode seguir o guia em sua máquina local ou em um VPS.

Instalando Requisitos


Instalando o Rails usando RVM

A maneira mais fácil de instalar o Rails é usando RVM, que também instala o Ruby. Para instalar o RVM, você precisará garantir que o sistema tenha o curl instalado (como fazer isso depende do seu sistema operacional). Se você já tiver o RVM instalado, pule para a próxima seção.

O RVM pode instalar o Ruby e o Rails automaticamente como parte de sua instalação. Para fazer isso, execute este comando:

\curl -L https://get.rvm.io | bash -s stable --rails

Observação: você deve revisar o script de instalação do RVM antes de executá-lo (ou qualquer outro script remoto que você redirecione para bash).

O RVM será instalado em seu sistema. Agora você pode usá-lo para gerenciar suas versões do Ruby. Isso é útil, já que você pode precisar de diferentes versões do Ruby para diferentes projetos. O RVM também instalou o gem do Rails para nós.

Instalando o Rails usando RubyGems

Se você já tiver o RVM instalado, não precisará reinstalá-lo. Em vez disso, você pode simplesmente instalar o Rails instalando o gem:

gem install rails

Isso instalará o Rails e quaisquer outros gems que ele requerer.

Instalando o Postgres

O método de instalação do Postgres depende do seu sistema operacional. Consulte postgresql.org/download para obter uma lista completa. Geralmente, é mais fácil usar um gerenciador de pacotes como apt-get no Ubuntu ou Homebrew no OS X.

Se estiver instalando o Postgres em uma máquina local, você também pode querer instalar uma GUI (embora este guia assuma o uso da linha de comando). O pgAdmin não é a ferramenta mais bonita do mundo, mas faz o trabalho.

Por fim, você vai querer instalar a gema pg para que possa interagir com o Postgres a partir do código Ruby. Para fazer isso:

gem install pg

Configurando o Postgres


Crie um usuário do Postgres para o aplicativo Rails que criaremos no próximo passo. Para fazer isso, altere para o usuário Postgres:

su - postgres

Depois disso, acesse o Postgres:

psql

Em seguida, crie um usuário (ou um “papel”, como o Postgres chama):

create role myapp with createdb login password 'password1';

Criando seu Aplicativo Rails


Para criar um aplicativo Rails configurado para o Postgres, execute este comando:

rails new myapp --database=postgresql

Isso cria um diretório chamado “myapp” que abriga um aplicativo chamado “myapp” (você pode nomeá-lo como quiser ao executar o comando). O Rails espera que o nome do usuário do banco de dados corresponda ao nome do aplicativo, mas você pode facilmente mudar isso, se necessário.

Agora configuraremos com qual banco de dados o Rails irá interagir. Isso é feito usando o arquivo database.yml, localizado em:

RAILS_ROOT/config/database.yml

Nota: RAILS_ROOT é o diretório raiz do Rails. No exemplo acima, estaria em /myapp (relativo à sua localização atual).

O arquivo database.yml é usado pelo Rails para se conectar ao banco de dados apropriado para o ambiente atual do Rails. Ele usa YAML, um padrão de serialização de dados. Aqui estão listados alguns bancos de dados para diferentes ambientes; desenvolvimento, teste e produção. Por padrão, o Rails espera um banco de dados diferente para cada ambiente. Isso é útil porque, por exemplo, o banco de dados de teste é esvaziado e reconstruído toda vez que você executa testes no Rails. Para cada banco de dados, certifique-se de que o nome de usuário e a senha correspondam ao nome de usuário e à senha que você deu ao seu usuário do Postgres.

Uma vez configurado, seu database.yml deve conter algo assim:

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

Você pode então executar:

rake db:setup

Isso criará bancos de dados de desenvolvimento e teste, definirá seus proprietários como o usuário especificado e criará tabelas “schema_migrations” em cada um. Esta tabela é usada para registrar suas migrações de esquemas e dados.

Executando o Rails


Você deve ser capaz de iniciar seu aplicativo Rails agora:

rails server

Se você acessar localhost:3000, você deverá ver uma página inicial do Rails. Isso realmente não faz muito, no entanto. Para interagir com nosso banco de dados, vamos criar um scaffold:

rails g scaffold Post title:string body:text
rake db:migrate

Agora acesse localhost:3000/posts. A partir daqui, você pode criar novas postagens, editar postagens existentes e excluir postagens. Veja o guia de introdução do Rails para mais operações introdutórias.

Seu aplicativo Rails está agora conectado a um banco de dados Postgres!

Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ruby-on-rails-with-postgres