Migração com Django South dispara erro “_mysql_exceptions.Warning: InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.”

Me deparei com esse erro esses dias ao criar executar uma migração South na minha aplicação Django  para criar um simples campo BooleanField.

Para corrigir isso siga os passos abaixo:

Entre no mysql digitando:

e digite o comando abaixo para ver o tipo o file format utilizado pelas tabelas:

Com certeza voce vai se deparar com uma saida tipo “Antelope” e portanto precisamos mudar o innodb_file_format para “Barracuda”. Para isso siga os passos desse outro post aqui:
http://www.mateuspaduaweb.com.br/migracao-com-django-south-dispara-erro-_mysql_exceptions-warning-innodb-row_formatdynamic-requires-innodb_file_per_table/

Mais explicações sobre a variável innodb_file_format no link abaixo:
http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_file_per_table
http://www.percona.com/blog/2014/01/14/innodb-file-formats-here-is-one-pitfall-to-avoid/

Migração com Django South dispara erro “_mysql_exceptions.Warning: InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table

Esses dias quebrei a cabeça tentando fazer uma migração simples com o Django South no meu banco de dados MySQL e me deparei com o erro:
“_mysql_exceptions.Warning: InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table”

Depois de procurar bastante no google encontrei algumas soluções aqui e outras e ali e cheguei nesse passo a passo abaixo que funcionou para mim:

Adicione a linha innodb_file_per_table=ON em /etc/mysql/my.cnf

Reinicie o mysql:

Entre no mysql digitando:

e digite:

Agora rode sua migração South novamente e tudo deve funcionar normalmente.

Aqui segue uma explicação mais especifica para o porque dessa mudança:
http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_file_per_table
http://www.percona.com/blog/2014/01/14/innodb-file-formats-here-is-one-pitfall-to-avoid/

Celery + RabbitMQ para gerenciar filas de tarefas no Ubuntu

celery rabbitmq

Celery

O Celery é um Python Package Index (PyPi) que pode ser instalado via pip. Com ele conseguimos executar tarefas(tasks) em segundo plano e assim não bloqueamos nosso programa em execução, melhorando assim a experiência do usuário, que não precisa ficar esperando determinada tarefa terminar, como por exemplo um envio de email que muitas vezes é um pouco demorado.
Continue Reading…

GIT – mostrar como estava o arquivo em uma determinada revisão

git show As vezes precisamos saber como estava um arquivo em uma determinada revisão, no commit anterior por exemplo, para isso podemos utilizar o comando abaixo:

Onde <commit> pode ser o sha1, assim:

Mas na maioria das vezes queremos ver o arquivo em uma ou duas versões anteriores, para isso podemos fazer assim, que é bem mais fácil:

Continue Reading…