I’ve never been entirely happy with CocoaMySQL, and after a mishap last night our relationship is at an end. Like most database clients, CocoaMySQL enables you to run queries, browse tables, and view the structure of your database. It has its problems (like hanging and locking the database when I run custom queries that return a lot of data), but for the most part, they’re avoidable.

Last night, however, I found that it just puts too much power in the hands of its users to be safe for everyday use. When you’re viewing the structure of a table in CocoaMySQL, you can modify the schema as well as view it. In fact, it makes modifying the schema really easy. You can just click on the data type for a column and change it from, say, varchar(255) to tinyint. In fact, it’s rather easy to make such a change accidentally. Needless to say, doing something like that results in losing every bit of the data in that column. Any sane person writing a database tool would ask for confirmation before applying such a page, perhaps even two or three times, especially when a schema change will result in data loss. CocoaMySQL doesn’t.

Time to find another database client.