Ruby on Rails – ORM – Active Record – Queries – MySQL

Publicado: 8 de janeiro de 2015 em Ruby on Rails

Depois de criar os seus modelos de dados, o Rails lhe fornece automaticamente uma API de banco de dados com abstração que permite criar, recuperar, atualizar e excluir objetos. Você pode utilizar uma gama de instruções Ruby para manipular dados através de objetos fornecidos pelo ORM do Active Record que também lhe proporciona praticidade e segurança pois sua arquitetura foi construída sob as boas praticas de acesso a dados, onde o desenvolvedor não precisa saber de detalhes técnicos sobre os diferentes bancos de dados pois os objetos já incluem recursos para minimizar o acesso ao banco de dados, criação de IDs automáticos e muitas outras vantagens.

Active Record: http://guides.rubyonrails.org/active_record_basics.html

Usando o Active Record no Rails Shell

1 – Em um diretório de sua escolha crie um projeto Ruby on Rails:

RoR - Criar Projeto

RoR – Criar Projeto

2 – Na pasta config da sua aplicação configure os parâmetros de acesso ao MySQL:

RoR - Conexão MySQL

RoR – Conexão MySQL

3 – Entre na pasta do seu projeto, e no terminal crie o modelo e migre o modelo para o banco de dados:

rails g model meumodelo nome:string album:string musica:string
Criar Modelo

Criar Modelo

4 – Entre no Shell utilizando o comando rails para gravar registros no banco de dados através do Active Records, você pode perceber que os comandos SQL utilizados para as operações no banco de dados são mostradas pelo Active Record.

Vamos tomar como exemplo que a Camila goste da banda chamada Stone Temple Pilots, o modelo proporciona que o usuário escolha sua musica e seu álbum preferido:

Active Record - Criar (Inserir)

Active Record – Criar (Inserir)

5 – Também podemos recuperar os dados e altera-los caso a Camila tenha lembrado uma musica que goste mais e deseje alterar seu registro:

Active Record - Alterar Dados

Active Record – Alterar Dados

6 – Se a Camila desejar excluir seu registro:

Active Record - Deleta - Dados

Active Record – Deleta – Dados

7 – Caso queira confirmar o trabalho do Active Record, no meio dos processo acima você pode consultar o banco de dados para ver o resultado de suas operações:

MySQL - Workbench

MySQL – Workbench

Exemplo:

Neste exemplo criamos um projeto e uma aplicação Ruby on Rails e criamos um modelo de dados através de seu ORM e  utilizamos o Active Record para efetuar operações CRUD através do Rails Shell.

Database.yml

Ruby

# MySQL.  Versions 5.0+ are recommended.
#
# Install the MYSQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
#
default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: minhasenha
  socket: /var/run/mysqld/mysqld.sock

development:
  <<: *default
  database: DAsandbox

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: meusite_test

# As with config/secrets.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is
# ever seen by anyone, they now have access to your database.
#
# Instead, provide the password as a unix environment variable when you boot
# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
# for a full rundown on how to provide these environment variables in a
# production deployment.
#
# On Heroku and other platform providers, you may have a full connection URL
# available as an environment variable. For example:
#
#   DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
#
# You can use this database configuration with:
#
#   production:
#     url: <%= ENV['DATABASE_URL'] %>
#
production:
  <<: *default
  database: meusite_production
  username: meusite
  password: <%= ENV['MEUSITE_DATABASE_PASSWORD'] %>
Anúncios
comentários
  1. Muito massa com os Screenshots ! Parabéns!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s