Moving from MySQL Workbench to DataGrip

Article by Wayne Fagan. Published on 14 Jan, 2020.

MySQL Workbench has been my main database IDE for a while now. However for the last several months I’ve been trying out different database IDEs. The intention was to find the perfect one. I haven’t found one as yet, however the one I’ve settled for is almost perfect.


MySQL Workbench Issues

  1. Limits you to only using MySQL in the GUI (obviously), then as a result if your having to use other data source types you’ll need another IDE.
  2. MySQL connections are displayed in a card layout, which means you have to access each card to see the contents of each connection.
  3. Presents a full list of schemas, which are instantly accessible. No easy way to toggle visibility.
  4. Dropping tables. There is no GUI message confirming which schema the tables are being dropped from.
  5. Dropping tables is a tedious process, always having to repeat the 'Drop Schema' and 'Refresh' actions until the table is removed.
  6. GUI styling seems to be inconsistent at times: Dropdown menu options are not correctly formatted.
  7. Database queries requires you to have a working knowledge of SQL.
  8. Continuously freezing and crashing (maybe system related).

DataGrip

DataGrip, developed by JetBrains, although still not perfect, seems to address all of the above issues.


Pros

Database Types

Unlike, MySQL Workbench, it doesn’t limit you to managing only one data source type. At the moment you can connect to everything from MySQL to Postgres to MongoDB, there are a total of 21 different types of data sources you can connect to, which almost makes DataGrip seem like the Swiss army knife of database IDEs.

Visible Schemas

By default when connecting to data sources the schemas are hidden from view. The user has to select which schemas are to be made visible from those which are available. This then creates a much shorter ‘active’ list, and removes none relevant schemas from view and reducing any potential accidents from occurring.

Running Queries

There is now an alternative to using SQL commands when querying a table, it is now possible to use the Filter criteria input field. Using this input field allows for the use of conditional operators against a field, like so, name == ‘John Doe’ .

Integration

JetBrains has integrated DataGrip in to many of their other products, for example PyCharm. So it is not necessarily necessary to have the standalone client.

Cross Platform

DataGrip is available for Linux, MacOS, and Windows. So there is no need to learn a new IDE due to lack of availability should you change operating system.

Styling

DataGrip's styling is consistent with other JetBrain products. Menus and options are laid out in a logical manner.

Contextual Messages

Has clear and concise messages about the action(s) you are about to perform.

Speed & Stability

Executes queries quickly on large databases, and is (so far) not prone to crashing or locking up.

Cons

Price

There is a 30 day trial period, after which a subscription is required. There are other alternatives which are free, including MySQL Workbench (Community).

Users

It has very little, to no, ability to manage users. Which is a shame as this would have made it, in my eyes, near perfect. Users of DataGrip are resigned to manually managing users via the terminal or another client.


If all your using is MySQL and you don’t want to pay for a subscription, and you look past the above issues, then MySQL Workbench (Community) may be sufficient for your needs. But if you want a little more control and a unified experience then maybe DataGrip might be worth looking at.

There maybe other database IDEs out in the wild which I have not considered but at the moment DataGrip is my tool of choice.