Archive for the ‘Perl’ Category

Mysql Diff dinges

Thursday, April 6th, 2006

Handig! Een tool om twee mysql structuren met elkaar te vergelijken en bij te werken. Vaak nodig gehad om twee database-structuren synchroon te houden. Zeker als je code gaat releasen die een andere databasestructuur vereist is het wel handig als je zeker weet dat twee databases dezelfde structuur hebben. Dus deze tool kwam als geroepen.

Helaas werkte tests van de Mysql::Diff module niet met mysql 4.1: perl -MCPAN -e 'install Mysql::Diff' faalde helaas op de tests. Maar toen ik de module dan maar gewoon installeerde zonder de tests probeerde ik het meegeleverde scriptje mysqldiff te runnen, met als database 1 de productieversie en database 2 mijn eigen development versie.

Het scriptje vergelijkt de structuur van twee databases. De eerste database is de achterlopende, dus de database die je wilt bijwerken. De tweede database bevat de gewenste structuur.

Dat leverde het volgende resultaat:

ALTER TABLE `wikied_locks` DROP COLUMN `session_id`; # was varchar(32) NOT NULL default ''
ALTER TABLE `wikied_locks` ADD COLUMN `userid` int(11) unsigned default NULL;
ALTER TABLE `wikied_searchlog` ADD COLUMN `filter` varchar(255) NOT NULL default '';
ALTER TABLE `wikied_searchlog` ADD COLUMN `ip` int(11) NOT NULL default '0';

En dat kan rechtstreeks op de productieserver worden toegepast.

http://www.adamspiers.org/computing/mysqldiff/
(en op CPAN: http://search.cpan.org/~aspiers/MySQL-Diff-0.33/ )

Mooie Regular Expression

Wednesday, March 29th, 2006

Email validatie is altijd lastig. Zou dit de ultieme regexp zijn voor email?