Feeds:
Posts
Comentários

Pessoal,
Quem nunca precisou abrir sua base de dados para ver o nome de uma certa coluna que estava precisando utilizar em um determinado momento? Eu fui uma dessas pessoas, e com base nessa necessidade iniciei minhas buscas de uma solução, e acabei encontrando um ótimo plugin chamado Annotate Models que imprime o nome e descrição de cada campo em seu model relacionado.

Abaixo mostrarei como instalar e como gerar as descrições dos campos em nosso model, vamos lá:

Site do desenvolvedor

http://agilewebdevelopment.com/plugins/annotate_models

Instalação:
Para instalarmos o plugin devemos executar em nossa raiz do projeto o seguinte comando:

script/plugin install http://repo.pragprog.com/svn/Public/plugins/annotate_models

A instalação cria uma nova Rake que ao ser executado faz a leitura de nossos models e busca as informações de suas tabelas para então imprimi-las antes da definição da classe de nosso Model.

Gerar descrições:
Após terem instalado, executem o comando abaixo para gerarmos a descrição em nosso Model:

rake annotate_models

Segue abaixo um exemplo criado para que vejam como ficará a estrutura:

# == Schema Information
# Schema version: 20090416234143
#
# Table name: clientes
#
#  id           :integer         not null, primary key
#  nome         :string(255)
#  idade        :integer
#  sexo         :string(255)
#  created_at   :datetime
#  updated_at   :datetime
#  estado_civil :string(255)

class Cliente < ActiveRecord::Base
end

Reparem que a ultima linha da descrição é uma coluna chamada estado_civil, isso ocorreu pois executei a primeira vez o rake annotate_models e para fins de teste criei uma nova migration, adicionei a coluna estado_civil, executei o rake db:migration e novamente executei o rake annotate_models, e para minha felicidade o campo foi adicionado a descrição :)

Espero que seja útil para vocês.

Até a próxima pessoal.

A pouco tempo tive um problema em meu Leopard, todos os comando que dava no Rails como script/server ou script/generate entre outro me informavam que o RubyGem não estava instalado, isso ocorreu após uma atualização de gem utilizando o comando sudo gem update, antes de tudo fui buscar pelo erro o por que disso está acontecendo, e logo achei a resposta, sempre fiz minhas instalações pelo MacPort logo tudo era instalado em /opt/local e por algum motivo que não sei, o RubyGem não estava nesse lugar e sim em /usr/local, assim como também o MySql e o Rails, então a solução foi excluí o MacPorts pra ter certeza que não me traria mas confusão, excluí tudo em /opt/local nesse momento já não tinha mais o Ruby e então fui instalando tudo manualmente como mostrarei abaixo.

A primeira coisa a fazer é mudar nosso PATH no profile de seu usuário, para quem tem o Textmate darei um mate no caminho pra quem não tem é somente utilizar um editor de texto preferido no caminho ~/.profile, segue abaixo como fiz:

mate ~/.profile

Comente seu PATH na linha que inicia em export PATH e inclua a instrução abaixo:

export PATH=”/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH”

Dessa forma informamos os nossos locais para instalações, e agora precisaremos executa-lo assim:

~/.profile

Agora vamos criar um diretório com permissões de ROOT para que possamos baixar e compilar direto desse diretório.

sudo mkdir -p /usr/local/src
sudo chgrp admin /usr/local/src
sudo chmod -R 775 /usr/local/src

O próximo passo é baixar e compilar o Ruby 1.8 via Terminal:

cd /usr/local/src
curl -O ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p72.tar.gz
tar xzvf ruby-1.8.7-p72.tar.gz
cd ruby-1.8.7-p72
./configure –enable-shared –enable-pthread CFLAGS=-D_XOPEN_SOURCE=1
make && sudo make install

Vamos ver se o Ruby foi instalado e verificar se o diretório da instalação está correto:

which ruby

Se tudo ocorreu bem deverá aparecer o seguinte caminho:

/usr/local/bin/ruby

Pronto terminamos a instalação do Ruby manualmente, e com um ruby -v algo como ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9.6.0] deverá ser mostrado.

Instalando o RubyGem

cd /usr/local/src
curl -O http://rubyforge.iasi.roedu.net/files/rubygems/rubygems-1.3.1.tgz
tar xzvf rubygems-1.3.1.tgz
cd rubygems-1.3.1
sudo /usr/local/bin/ruby setup.rb

Instalação do Rails

sudo gem install rails

Instalação do Mongrel e Capistrano

sudo gem install mongrel
sudo gem install capistrano

Para finalizar nosso Tutorial falta então instalarmos o Mysql, vamos lá:

Lembro que para instalação do Mysql na Gem, precisamos antes te-lo instalado no Mac, o arquivo pode ser baixado no site do Mysql em formato DMG ou PKG, como instalei a versão 5 utilizei o endereço http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg , após instalarem devemos utilizar o comando a seguir para então instalarmos no Ruby:

sudo gem install mysql — –with-mysql-dir=/usr/local/mysql

Pronto, Terminamos :)

Pessoal, feito isso, temos nosso ambiente para desenvolvermos aplicações ruby on rails com mysql funcionando.

Um abraço a todos, e caso tenham dúvidas, deixem um comentário.

Pessoal, esse é meu primeiro post, e espero conseguir colocar muitos outros e geralmente serão minhas dúvidas solucionadas, vamos lá.

Em um momento precisei de conectar a uma outra base, diferente da que iniciei no meu projeto, então depois de bastante buscar cheguei na simples solução:

Dentro do arquivo config/database.yml  no meu caso coloquei após os dados referente ao banco production:

seubanco:
   adapter: seuadapter
   database: seudb
   username: user
   password: senha
   host: localhost

Feito isso crie um model manualmente, ou seja, criando um arquivo na pasta app/models com um nome seguido da extensão .rb, e dentro desse arquivo:

class TabelaOutroBanco< ActiveRecord::Base
   set_table_name "nomedatabela" #nome da tabela em seu novo banco
   self.establish_connection(:seubanco)
end

É isso pessoal, com isso vocês conseguirão acessar um segundo banco, lembro que pode ser feito com quantos bancos forem necessários, mas façam com moderação :)

Um abraço.