Using DbUpdater with MySql

DbUpdater can be used with mysql. Here are the files you need to jumpstart the integration – 1. You might need to change the path to mysql.exe in mysql-exec.bat. 2. Modify values in mysql-sample-command-line.bat. Make sure is placed in GAC or in the same directory as DbUpdater.exe. Connector binaries can be downloaded from here –

Database Schema Version Control Tool

It is essential to treat database schema as source code and apply all the norms and best practices applicable to it. From what I hear and read, database schema version control is non-existent in too many projects. Various techniques to accomplish version control of database schemas have been discussed and published. Martin Fowler and Pramod Sadagale has written a comprehensive article on Evolutionary Database Design. It is a must-read for everyone involved with database development. K. Scott Allen writes in detail about an excellent system here – Versioning Databases – Change Scripts. This approach is sufficiently light-weight (for my taste) and provides complete control over the whole process. I am providing a free tool here that you can use to […]

Leveraging XPATH Axes

XPATH axes come in very handy when nodes need to be selected based on (attribute’s or child element’s) values that must match those of other nodes elsewhere in the xml tree. Consider the following log4net configuration file : <?xml version=”1.0″?> <configuration> <configSections> <section name=”nhibernate” type=”System.Configuration.NameValueSectionHandler, System, Version=,Culture=neutral, PublicKeyToken=b77a5c561934e089″ /> <section name=”log4net” type=”log4net.Config.Log4NetConfigurationSectionHandler,log4net” /> </configSections> <nhibernate> <add key=”hibernate.connection.provider” value=”NHibernate.Connection.DriverConnectionProvider” /> <add key=”hibernate.connection.driver_class” value=”NHibernate.Driver.SqlClientDriver” /> <add key=”hibernate.connection.connection_string” value=”Server=servername; Database=dbname; User=username; Password=secret;” /> <add key=”hibernate.connection.isolation” value=”ReadCommitted” /> <add key=”hibernate.dialect” value=”NHibernate.Dialect.MsSql2000Dialect” /> </nhibernate> <log4net> <appender name=”NHibernateFileLog” type=”log4net.Appender.RollingFileAppender”> <file value=”Logs/nhibernate.txt” /> <appendToFile value=”true” /> <rollingStyle value=”Size” /> <maxSizeRollBackups value=”10″ /> <maximumFileSize value=”100KB” /> <staticLogFileName value=”true” /> <layout type=”log4net.Layout.PatternLayout”> <conversionPattern value=”%d{HH:mm:ss.fff} [%t] %-5p %c – %m%n” /> </layout> </appender> <appender name=”GeneralLog” type=”log4net.Appender.RollingFileAppender”> <file value=”Logs/general.txt” /> <appendToFile […]