Introdução
Ruby on Rails usa sqlite3 como banco de dados padrão, que funciona muito bem em muitos casos, mas pode não ser suficiente para sua aplicação. Se o seu aplicativo requer escalabilidade, centralização e controle (ou qualquer outro recurso) fornecido por um banco de dados SQL cliente / servidor, como PostgreSQL ou MySQL, você precisará realizar algumas etapas adicionais para colocá-lo em funcionamento. Rails é agnóstico de 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 de usar com o Postgres. Este guia o guiará pela criação de um aplicativo Rails que usa um banco de dados Postgres. Você pode seguir o guia em sua máquina local ou em um VPS.
Instalando Rails usando RVM
A maneira mais fácil de instalar Rails é usando RVM, que também instala Ruby. Para instalar o RVM, você precisará garantir que o seu sistema tenha o curl instalado (como você faz isso depende do seu sistema operacional). Se você já tiver o RVM instalado, pule para a próxima seção .
RVM pode instalar Ruby e Rails automaticamente como parte de sua instalação. Para fazer isso, execute este comando:
Nota: você deve revisar o script de instalação RVM antes de executá-lo (ou qualquer outro script remoto que você canalize para o bash.
O RVM irá se instalar no seu sistema. Agora você pode usá-lo para gerenciar suas versões Ruby. Isso é útil porque você pode exigir diferentes versões do Ruby para diferentes projetos. O RVM também instalou a gem Rails para nós.
Instalando Rails usando RubyGems
Se você já tem o RVM instalado, não é necessário reinstalá-lo. Em vez disso, você pode simplesmente instalar o Rails instalando o gem:
trilhos de instalação gem
Isso irá instalar o Rails e quaisquer outras joias que ele requer.
Instalando Postgres
O método de instalação do Postgres depende do seu sistema operacional. Veja postgresql.org/download para 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 presuma o uso de linha de comando). O pgAdmin não é a ferramenta mais bonita do mundo, mas faz o trabalho.
Finalmente, você desejará instalar o pg gem para que possa interagir com o código Postgres do Ruby. Para fazer isso:
gem instalar pg
Configurando Postgres
Crie um usuário Postgres para o aplicativo Rails que criaremos na próxima etapa. Para fazer isso, mude para o usuário Postgres:
su – postgres
Em seguida, crie um usuário (ou uma “função”, como o Postgres o chama):
criar função myapp com senha de login do createdb ‘password1’;
Criando Seu Aplicativo Rails
Para criar um aplicativo Rails configurado para Postgres, execute este comando:
rails new myapp –database = postgresql
Isso cria um diretório chamado “myapp”, que hospeda 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 iremos configurar com qual banco de dados o Rails irá falar. 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, seria em / myapp (em relação à sua localização atual).
O arquivo database.yml é usado pelo Rails para se conectar ao banco de dados apropriado para o ambiente Rails atual. 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 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ê forneceu ao usuário do Postgres.
Uma vez configurado, seu database.yml deve conter algo assim:
desenvolvimento:
adaptador:
codificação postgresql :
banco de dados unicode : myapp_development
pool: 5
nome de usuário: myapp
senha: password1
teste:
adaptador:
codificação postgresql :
banco de dados unicode : myapp_test
pool: 5
nome de usuário: myapp
senha: password1
Você pode então executar:
rake db: setup
Isso criará bancos de dados de desenvolvimento e teste, definirá seus proprietários para o usuário especificado e criará tabelas “schema_migrations” em cada um. Esta tabela é usada para registrar suas migrações para esquemas e dados.
Rails em execução
Você deve ser capaz de iniciar seu aplicativo Rails agora:
servidor de trilhos
Se você navegar para localhost: 3000, deverá ver uma landing page do Rails. Isso realmente não faz muito embora. Para interagir com nosso banco de dados, vamos criar um scaffold:
rails g scaffold Título da postagem: string body: text
rake db: migrate
Agora navegue até localhost: 3000 / posts. A partir daqui, você pode criar novas postagens, editar postagens existentes e excluir postagens.
Seu aplicativo Rails agora está se comunicando com um banco de dados Postgres!