Xaprb

Stay curious!

Seeking input for a new tool to verify MySQL upgrades

with 3 comments

I’ve had several customers in the last week or so who need a way to verify that their application will work well after an upgrade. I’m seeking input on a new tool to help with MySQL upgrades. Please add comments, either here or on the bug report, or on the mailing list topic.

If someone wants to sponsor this work, that would also be welcomed.

Written by Xaprb

May 29th, 2009 at 11:56 pm

Posted in Maatkit, SQL

Tagged with ,

3 Responses to 'Seeking input for a new tool to verify MySQL upgrades'

Subscribe to comments with RSS or TrackBack to 'Seeking input for a new tool to verify MySQL upgrades'.

  1. In my “SQL Antipatterns” talk, I had a subject that’s pretty close to this. I didn’t offer any solutions, but I suggested that database development habits should include regression-testing the database itself (not just application code that acts on the database).

    For example:

    Tables, Views, Columns: verify that they exist. Verify they have the columns you expect. Verify tables and columns you dropped during an upgrade are actually gone.

    Constraints: verify that an update is aborted by a constraint when it should be. NOT NULL, check constraints, foreign key constraints. Cascading behaviors.

    Triggers: verify that triggers work to implement constraints, provide cascading operations, logging, etc.

    Stored Procedures: test parameter signatures, test code paths, etc. just as you would a non-SQL procedure.

    Bootstrap Data: verify contents of lookup tables or other initial data that is present in your “empty” database.

    Queries: test all queries that are executed from your application.

    ORM classes: test all ORM classes, subclasses, aggregate classes, etc. just as you would any other code.

    Bill Karwin

    30 May 09 at 11:39 am

  2. Your customers may not realize the value of this tool. It is _extremely_ valuable. We have an ugly version of this tool (it works, but the code is not in good shape to be published). It is used to validate a binary every time we change MySQL. It gives us much more faith in our changes.

    It found many problems during our upgrade from MySQL 4 to 5. It is much better to find these problems before an upgrade.

    Mark Callaghan

    31 May 09 at 11:38 pm

  3. [...] Like Baron Schwartz’s Maatkit, for example. Baron announced this week that he is writing a book about Maatkit, and also seeking input for a new tool to verify MySQL upgrades. [...]

Leave a Reply