Como Configurar o Ruby on Rails com Postgres

Estado: Descontinuado

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

Motivo

Agora oferecemos tutoriais atualizados para usar o Rails com o Postgres que são adaptados para 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 usar 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. Ruby on Rails é um framework web de código aberto escrito em Ruby. 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, assume-se que o MySQL está sendo usado, mas é bastante fácil usar o Postgres em seu lugar.

Este guia irá orientá-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 o RVM, que também instala o Ruby. Para instalar o RVM, você precisará garantir que seu sistema tenha o curl instalado (como fazer isso depende do seu sistema operacional). Se você já tem 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ê direcione para o 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 a gem do Rails para nós.

Instalando o Rails usando o RubyGems

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

gem install rails

Isso instalará o Rails e quaisquer outras 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 ver uma lista completa. Geralmente, é mais fácil usar um gerenciador de pacotes como o apt-get no Ubuntu ou o Homebrew no OS X.

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

Por fim, você vai querer instalar o gem pg para poder 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, acesse o usuário do Postgres:

su - postgres

Depois, acesse o Postgres:

psql

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

create role myapp with createdb login password 'password1';

Criando o 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 contém 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 da aplicação, mas você pode facilmente mudar isso se necessário.

Agora vamos configurar 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. Existem alguns bancos de dados listados aqui 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 os testes do 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.

Depois de configurado, seu database.yml deve conter algo como isto:

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 de “schema_migrations” em cada um. Essa tabela é usada para registrar suas migrações de esquemas e dados.

Executando Rails


Você deve ser capaz de iniciar sua aplicação Rails agora:

rails server

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

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

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

Sua aplicação Rails está agora conectada a um banco de dados Postgres!

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