quinta-feira, 24 de fevereiro de 2011

Instalação do Mysql Workbench no linux.

Olá pessoal, no post de hoje estamos trazendo a dica de como instalar no MySql Workbench no seu sistema operacional linux.

Ha algum tempo conheci essa ferramenta através de um cliente que havia me contratado para migrar um banco Mysql e ele usava essa mesma ferramenta para modela e criar os bancos que usava. Pesquisando um pouco na internet percebi que essa ferramenta pode fazer muito mais que criar um diagrama ER e sincronizar com o banco tornando o banco físico idêntico ao modelo criado. O mysql workbench permite que você faça a engenharia reversa do banco ou seja, você informa o banco e ele gera o modelo para você. Vamos deixar de história e colocar a mão na massa para fazer essa instalação.
Primeiramente abra uma nova aba ou janela no seu navegador e copie o endereço: http://dev.mysql.com/downloads/workbench/5.2.html#downloads agora selecione a versão do seu sistema operacional em nosso caso baixe o arquivo referente ao seu linux, atente que existe a opção para download para ubuntu 10.10 32 e 64 bit's  e para ubuntu 10.04 também 32 e 64 bit's.

Apos selecionar a versão do seu sisema clique no botão donwload ao lado da versão escolhida. Agora aparecerá uma janela solicitando que você faça o seu cadastro ou efetue o login no site do mysql, logo abaixo aparece a opção: "» No thanks, just take me to the downloads!" clique e escolha de qual servidor deseja fazer o download, no meu caso escolhi o "Linorg - USP - Sao Paulo" mais fique a vontade para escolher o que desejar.


 Após o download basta abrir o arquivo .deb com o gerenciador de pacotes de sua versão de linux  e ele estará instalado.
Para executar vá em aplicativos, desenvolvimento e la estará o Mysql Workbench a sua espera!

obs.: Apesar de estar usando kubuntu 10.04, baixei a versão para ubuntu e funciona perfeitamente.

No próximo post vamos instalar uma outra ferramenta muito útil na hora de fazer backup e restore-backup no banco de dados mysql.

quarta-feira, 23 de fevereiro de 2011

Substituindo gerenciador de conexões do kubutu 10.04


Boa noite!

Dando seguimentos ao compartilhamento das resoluções em minha lista de dificuldades vou passar aqui aquele macete que todo mundo um dia pode precisar.


Quem aí ja usou u kde e não sentiu raiva ou dificuldade ou até mesmo vontade de se desfazer do gerenciador de conexões do kubuntu, o knetworkmanager que vem instalado por default dessa distribuição?  Minha motivação primeira foi a lentidão que ele tem para conectar as redes e achar a cada liga/desliga do computador, sem falar que de vez em quando ele trava e tal, mais para isso ao menos por enquanto e para teste, estarei ajudando a você a instalar o wicd network manager.
Antes de mais nada queria alertar que a instalação do wicd implica diretamente na desisntalação do NetworkManager.
Um ponto negativo é que o wicd não está no repositório oficial do ubuntu e por isso é necessário adicionar um linha no seu arquivo de configuração:  /etc/apt/sources.list 
Então vamos ao que interessa de verdade.

  • Vá ao terminal do seu kubuntu e digite sudo /etc/apt/source.list
será solicitada a senha de root, caso ainda não esteja logado como tal.
  • Adicione a linha a seguir no final de seu arquivo source.list 
              deb http://apt.wicd.net hardy extras




Agora digite no terminal: sudo apt-get update ou sudo aptitude update
apos aparecer uma lista de arquivos digite: sudo atp-get install wicd ou aptitude install wicd.
O software wicd então será instalado e automaticamente o NetworkManager que ja estava instalado será removido.
Reinicie o computador e quando ele terminar de iniciar certamente o wicd ja estará funcionando.

Por hoje é isso, até o próximo macete / post!



Kubuntu 10.04 -- Problema com placa de rede com fio.

Ontem resolvi trocar de distribuição Linux depois de alguns colegas me provarem por a + b que o kubuntu 10.04 é mais estável que o ubuntu 10.10 que eu usava. Então la vou eu formatar meu note que é um dell R14 N4010 para colocar o kubuntu. No processo de instalação aconteceu tudo como o previsto e o note ficou beleza, conectei a rede sem fio com a facilidade ja costumeira, no entanto quando fui colocar o cabo de rede para testar a placa de rede com fio é que veio a surpresa, ela não estava funcionando.
Depois de horas de google para resolver o problema meu colega de trabalho que não vou dizer o nome é claro, conseguiu solicionar o que na verdade descobrimos uma falha por falta de driver e a placa de rede com fio fica desabiltada por isso, mais vamos a resolução:

Inicie verificando através dos comandos a seguir se sua place de rede aparece em cada um deles:

cat /etc/network/interfaces

cat /etc/NetworkManager/nm-system-settings.conf

dmesg | grep -e eth0 -e bcm

ifconfig -a

Pois bem, feito os comandos pode-se verificar que o hardware está sendo detectado mais o sistema operacional não consegue ativar.
Alguém que não foi o pessoal do ubuntu ao que parece e por esse e-mail a gente pode constatar isso, incorporou o driver da placa ao pacote: compat-wireless o qual iremos instalar para que a nossa placa funcione perfeitamente.


Faça o download do pacote através do link:
http://linuxwireless.org/download/compat-wireless-2.6

 Salve em seu desktop e sem seguida execute os seguintes comandos:

sudo apt-get update
sudo apt-get install build-essential
cd ~/Desktop
tar -xjvf compat-wireless-2.6.tar.bz2
cd compat-wireless*
scripts/driver-select atl1c
make
sudo make install

Reinicie seu computador e esperamos que quando ele iniciar novamente a placa ja esteja ativa e funcionando, caso não esteja funcionando execute esse comando:


sudo modprobe atl1c





Com o drive inserido através do camando anterior agora certamente funcionará.


É isso pessoal, em breve novo post sobre como fazer backup e restore do banco de dados de forma extremamente fácil e simples.

terça-feira, 22 de fevereiro de 2011

Cuidado com Hibernate usando CascadeType.ALL

Essa semana eu ouvi uma história que me motivou a esclarecer alguns pontos sobre o que significa usar o CascadeType.ALL no mapeamento de uma entidade que faz join, com outra.
Um colega, que não vou dizer o nome é claro, contou-me que esqueceu de remover um cascadetype.all de uma das entidades que mapeiam ao banco de dados de um sistema que ele desenvolveu para uma empresa que controla vendas de aparelhos de celular. O problema maior não foi esquecer o dito cascade mais a forma como ele se lembrou dele. Em meio ao expediente de trabalho ele foi informado que no sistema havia desaparecido todas as vendas de uma semana inteira e que um dos usuários do sistema havia feito uma exclusão de um registro e depois disso tudo desapareceu. Claro que como bom desenvolvedor meu colega se lembrou do famoso cascadetype e fez uma rápida pesquisa pelos códigos que ele havia escrito para o sistema e la estava o dito cujo. Mais o que seria esse tal de cascadetype? Se eu não sou da área de informática estaria me perguntando a mesma coisa, para que diabos serve isso?
Pois então, vou rapidamente citar os tipos mais comuns e usando de cascadetype para que você tenha uma base do que pode usar e pesquisar um pouco mais sobre cada um deles
  • PERSIST
    • Apenas salva.
  • ALL
    • Premite que todas as operações sejam executadas.
  • MERGE 
    •  
  • DELETE
    • Remove o objeto e seus filhos, muito cuidado ao utilizar esse tipo de mapeamento.
  • SAVE_UPDATE
    •  Salva e atualiza

Além dos tipos de cascade citados anteriormente existem outros que não iremos explorar aqui.
Fica prometido um exemplo de como usar o cascade numa aplicação web de exemplo.
Boa pesquisa e bom trabalho.