Uma situação muito comum: ambiente de desenvolvimento Windows e
ambiente de homologação e produção Linux. Se você se enquadra
nela, uma maneira prática de evitar problemas relacionados aos
nomes de tabelas é usar a configuração lower_case_table_names=1
em ambas plataformas. Como o MySQL faz referências às tabelasNo
MySQL, databases/schemas são diretórios e tabelas são arquivos no
filesystem do SO. É fácil verificar criando uma tabela e listando
os arquivos do datadir. Veja este exemplo no
Windows:
mysql> CREATE DATABASE meudb;mysql> USE meudb;mysql>
CREATE TABLE MinhaTabela(id INT PRIMARY KEY NOT NULL
AUTO_INCREMENT);
mysql> show databases;+--------------------+| Database
|+--------------------+|
information_schema || meudb
||
mysql …
« Anterior 10 Mais recentes entradas | Próximo 10 Entradas mais antigos »
Essa é uma das armas mais poderosas de um programador, pois, dá a possibilidade de adicionar funcionalidades no seu sistema sem impactos no código existente. E se você ainda não usa, então, tenho certeza que sua arquitetura pode ir bem mais longe.
Criei algumas classes para conseguir utilizar interceptadores em
PHP e vou apresentá-las no decorrer do artigo.
Vou mostrar como utilizei essas classes para poder abrir e fechar
a transação com o banco de dados de forma automática. A ideia é
que, no contexto de uma requisição, ou todas as operações
terminem com sucesso ou então todas sejam abortadas.
Quais métodos serão interceptados
Faremos a interceptação dos nossos métodos de controle (o C do MVC). Para isso, criei uma configuração onde todas as URLs serão jogadas para o arquivo …
[Leia mais]Caro leitor,
Se você me conhece, sabe que o PHP é a minha paixão. Falar sobre PHP é divertido, trabalhar com PHP é divertido e ajudar os outros a trabalhar com PHP é divertido. Gosto tanto de PHP que fiz dele o meu trabalho do dia a dia pelos últimos 3 anos, trabalhando com PHP e também com os programadores.
Nos últimos nove anos me divertindo com PHP, comecei a ver que existem cinco categorias de ferramentas das quais eu dependo mais do que quaisquer outras. Claro, eu tenho um embelezador de código, um verificador de padrões e uma pasta cheia de scripts escritos à mão que eu uso em vários momentos para tornar minha vida mais fácil. No entanto, quando se trata de ferramentas para PHP, existem cinco delas nas quais confio todos os dias.
Aqui estão elas em ordem de importância. Deixe-me saber quais são as suas cinco ferramentas preferidas também! Não vamos …
[Leia mais]Olá, pessoal! Neste episódio do DatabaseCast, Mauro Pichiliani (Twitter | Blog), Wagner Crivelini (@wcrivelini) e o convidado Lucas Benevides (@beneladen) estudam para passar no concurso público. Neste episódio você vai saber quais são as vagas do setor público para trabalhar com banco de dados, como ficar com raiva das questões da prova, aprender a lidar com burocracia, identificar quem trabalha e quem fica de moleza no serviço e porquê nunca se deve esquecer um acento em um modelo de dados.
Este episódio é um oferecimento da …
[Leia mais]Para listar as maiores tabelas do seu banco de dados, utilize a consulta abaixo:
WITH table_stats AS ( SELECT schemaname, tablename, pg_relation_size(schemaname || '.'|| tablename) as table_size, (pg_total_relation_size(schemaname || '.'|| tablename) - pg_relation_size(schemaname || '.'|| tablename)) as index_size, pg_total_relation_size(schemaname || '.'|| tablename) as
Em muitos casos é preciso saber o espaço em que as tabelas do banco de dados estão utilizando em disco, para fins de monitoramento e decisão de estruturação de banco. Para tal tarefa no PostgreSQL o comando abaixo resolve o problema. SELECT esquema, tabela, pg_size_pretty(pg_relation_size(esq_tab)) AS tamanho, pg_size_pretty(pg_total_relation_size(esq_tab)) AS tamanho_total
Original post: http://anothermysqldba.blogspot.com/2015/06/fibonacci-sequence-procedure.html
Bem, tem sido um tempo desde que eu postei, desculpe por
isso. Hoje eu estava assistindo a reprises do programa de TV
Fringe e quando Walter referenciado a seqüência de Fibonacci eu
tenho lado seguido com opções do MySQL para isso.
Agora este post já existia:
Então eu peguei esse …
Um dia fui desenvolvedor. Profissional, com diploma e carteira assinada. A vida tem seus mistérios e com o tempo acabei migrando para a administração de sistemas, depois para a administração propriamente dita, e o resultado disso é que poucas vezes contribuí diretamente com código para algum projeto open source, apesar de estar envolvido nessa cena desde 1996.
Houve algumas exceções, incluindo o código de extensões para outros programas e um sistema de configuração para conexões PPP discadas, ainda nos tempos heróicos em que conectar um PC com Linux à Internet era uma tarefa muito complicada.
Minha contribuição ao longo desses anos sempre foi mais como cronista e disseminador de informações, eventualmente como palestrante, às vezes como colaborador financeiro com um ou outro projeto especialmente meritório e necessitado.
A maior parte da minha contribuição ocorre por meio do site BR-Linux, onde já …
[Leia mais]É algo simples, mais facilita no dia-a-dia no desenvolvimento de relatórios no Jasper Report:
Lista dinâmica: $X{IN, CO.GRUPOCALCID , grupocalculo} -- declarar a variável como lista
Variável dinâmica: $P!{grupocalculo} -- variável dinâmica no jasper
Utilizando Variável condicional no Jasper: (($P{ordenacao}.toString() == "A") ? "ALFABÉTICA" : "NUMÉRICA" )
Uma tarefa um tanto quanto chata de ser realizada é fazer um delete em uma tabela em um registro que possui filhos(ou dependência, como preferir) e que na criação da Foreign Key não é definido a opção ON DELETE CASCADE. Então você irá tentar apagar e irá aparecer essa mensagem de erro:
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails...
Isso significa que para que seja possível apagar o registro desejado, antes será necessário apagar os filhos desse registro.
Nesse momento que bate aquela tristeza enorme, pois você não tem o MER e terá que olhar várias até achar os filhos.
Para ajudar nesse processo eu desenvolvi essa procedure que lista as tabelas que possuem filhos(apenas as tabelas que possuem filhos, pode ser que exista um FK mas a tabela não possui nenhum filho, nesse caso não irá apresentar como resultado) de um registro.
…[Leia mais]« Anterior 10 Mais recentes entradas | Próximo 10 Entradas mais antigos »