-->

Tutorial MongoDB

Category : Banco de Dados, NoSQL

Esta no ar o tutorial do MongoDB em português, para consulta-lo na integridade basta acessar este link: http://www.mongodb.org/display/DOCSPT/Tutorial

Vou deixar aqui a explicação de como instala-lo em ambiente Linux, e nos próximos posts vou comentando o tutorial para quem tiver alguma dificuldade.

  1. Instale as dependencias – Veja abaixo de acordo com sua plataforma
  2. Pegue os fontes
  3. git clone git://github.com/mongodb/mongo.git

  4. Complie
  5. scons all

  6. Instale
  7. scons --prefix=/opt/mongo install

Observações sobre Spider Monkey

Geralmente os binarios instalados do spider monkey não possuem o suporte a UTF8. Além disso, o ubuntu vem com uma versão “estranha” do spider monkey, que não suporta tudo o que usamos. Se você receber mensagens de “Warning” ou erros durante o processo de compilação, recomendamos que compile o spider monkey diretamente do fonte. Veja Compilando Spider Monkey para mais informações.

Suportamos o spider monkey 1.6 e 1.7, no entanto a versão 1.6 é um pouco deficiente, recomendamos o uso da versão 1.7. Não testamos a versão 1.8, mas iremos assim que for oficialmente lançada.

A instação pode ser realizada em um Ubuntu 9.10 sem nenhuma dificuldade, seguindo apenas as instruções desta página

Dependências

Fedora

Fedora 8 or 10

sudo yum -y install git tcsh scons gcc-c++ glibc-devel
sudo yum -y install boost-devel pcre-devel js-devel readline-devel
#for release builds:
sudo yum -y install boost-devel-static readline-static ncurses-static

Ubuntu

See spider monkey note above.
Ubuntu 8.04

apt-get -y install tcsh git-core scons g++
apt-get -y install libpcre++-dev libboost-dev libreadline-dev xulrunner-1.9-dev
apt-get -y install libboost-program-options-dev libboost-thread-dev libboost-filesystem-dev libboost-date-time-dev

Ubuntu 9.04 and 9.10

apt-get -y install tcsh git-core scons g++
apt-get -y install libpcre++-dev libboost-dev libreadline-dev xulrunner-1.9.1-dev

PDO e MySQL com UTF-8

1

Category : Banco de Dados, PHP

Se você esta usando PDO, esta tendo dificuldades com UTF-8 no seu MySQL, mesmo com tudo setado para UTF-8, você pode tentar isso:

$pdo = new PDO(
    ‘mysql:host=localhost;dbname=nomedobanco’,
    "user",
    "pass",
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

 

O último parametro do construtor do PDO é um array com as opções específicas do driver, no caso, do driver od MySQL. Este parametro é alimentado no velho estilo "array" chave=>valor.

Observem que o parametro (PDO::MYSQL_ATTR_INIT_COMMAND) não se trata de uma configuração de charset, mas sim de um comando que é executado todas as vezes que você conecta no banco. Neste caso, todas as vezes que ele se conecta no banco, ele executa a query "SET NAMES utf8" (acho que é específica do MySQL) que diz para o MySQL utilizar UTF-8 como charset para nossa conexão.

Para saber mais:

Fonte:
http://www.laszlo.nu/post/34159352/how-to-use-utf-8-with-mysql-and-php-data-objects-pdo

Tags BlogBlogs: php, pdo, mysql, utf8, unicode

 

On duplicate key update

1

Category : Banco de Dados

Tá ai um recurso que achei magnifico no MySQL 5, talvez não seja mais novidade para niguém, mas para mim foi bem interessante descobrir que não preciso mais fazer um update na minha abstração de dados, posso fazer tudo com insert e caso uma das chaves já esteja cadastrada o MySQL dispara um update.

O procedimento é muito simples, basta que você tenha uma primary key ou um index único e você poderá utilizar esta técnica.

Exemplo:

INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;

O comando acima irá atualizar a coluna c com o valor de c+1 quando a primary ou o index for duplicado.

Você pode indicar outros campos para serem atualizados também.

Exemplo:

INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1, b=now();

É uma técnica simples, mas que pode ganhar muito tempo de projeto dependendo da sua aplicação.

Para saber mais:
 


Tags BlogBlogs: mysq, banco de dados, duplicate key