DEV Community

jacksonPrimo
jacksonPrimo

Posted on • Edited on

Inicializando um projeto Ruby on Rails usando PostgreSql rodando em um container Docker

Primeiramente inicializamos o projeto.

$ rails new project_name --database=postgresql
Enter fullscreen mode Exit fullscreen mode

Em seguida configuramos o docker-compose.yml

version: '3.8'
services:
  database:
    container_name: project_name
    image: postgres
    restart: always
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: root
      POSTGRES_DB: project_name_development
    volumes:
      - ./tmp/db:/var/lib/postgresql/data
    ports:
      - '5432:5432'

  adminer:
    container_name: adminer
    image: adminer
    restart: always
    ports:
      - "8080:8080"

Enter fullscreen mode Exit fullscreen mode

ps: Eu particularmente gosto de usar o adminer para visualizar as tabelas do banco, então essa imagem é opcional, para acessar ele basta entrar no endereço: localhost:8080, e colocar as credenciais:
sistem: PostgreSql
host: database
user: root
password: root

Em seguida configuramos o arquivo de configuração do banco de dados para o ambiente de desenvolvimento.

# config/database.yml
development:
  <<: *default
  host: localhost
  database: project_name_development
  username: root
  password: root
  port: 5432

Enter fullscreen mode Exit fullscreen mode

Para testarmos basta criarmos um novo model e uma migration.

$ rails g model User email: string
Enter fullscreen mode Exit fullscreen mode

E por fim rodar a migration que vai persistir as mudanças no banco.

$ rails db:migrate
Enter fullscreen mode Exit fullscreen mode

Top comments (0)