DataGrip not fit for purpose with MariaDB/MySql! Follow
I'm a great fan of IntelliJ products, but I have to ask: Why does DataGrip have such problems doing simple things with MariaDB? Am I missing something!?
- Why can't I copy data from one database table to another?
- Why can't I run a large SQL file that I've opened? Nothing works? It's odd that I can dump 40MB of data to a file but when I try and open the same file in DataGrip I can't execute it because it's too large (I assume that's why it won't run, as I get absolutely no feedback when I try and execute the file).
- Why do I have to constantly Synchronize my schema when I make a tiny change?
- Why can't I edit Stored Procedures and Functions? This is frankly pathetic.
I don't see why I should have to drop out to the free HeidiSQL client to do the things that DataGrip doens't support when I'm paying IntelliJ $$$ a month for the entire package.
Please sign in to leave a comment.
After two weeks with DG, I've given up on it and have gone back to what I was using.
P.S. Thank you for mentioning HeidiSQL--just now I downloaded and installed it.
No problem James; it's very sad that we have to use a free tool because DataGrip (which we pay for) doesn't support these basic features.
The first thing should be mentioned, we don't support MariaDB, we don't have this database in our data source list. Yes, it is really similar to MySQL, but can have differences. There is a ticket for it: https://youtrack.jetbrains.com/issue/DBE-500
All in all, all features you report should be fixed or resolved. Let's have a look at them.
1. What is the issue? You can drag'n'drop tables. Or press F5 on the table.
2. If you open a large file, it is a notification that you see only part of it. Anyway, to run a huge script go to the context menu and press Run.
3. Is Auto-sync on is data source properties?
4. Can you please describe what you're doing? Generally, double-click or Ctrl+B should open DDL for any function or procedure.
James, I will appreciate if you tell us about your issues as well.
Maxim, thank you for replying.
To answer your questions:
1. "Drag and drop tables" - F5 key pops up a dialog and by manually typing in a different server it does appear I can select one. However, on attempting to copy I get a message saying: " Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs", so it doesn't work, even when copying to the same DB.
2. Opening a large file shows the "file too large error". But, as I said, right-clicking and choosing "Execute" from the popup menu does nothing; there's no error message, no feedback, and nothing happens. Possibly a bug. It appears that if I chose the "Run XXX.sql" that does actually work.
3. Auto-sync is on but it doesn't appear that pulls in changes to the DB made from other applications. I suppose I am expecting behaviour that updates my local schema when I expand or contract nodes (such as tables and views) from the UI. However, oddly enough, when "auto sync" is enabled *ALL* the DBs on the current server will be synchronised when any change is made to a single schema!
4. I can't find any option to open a proper UI editor for a stored procedure (one where I can select parameters, etc). I don't see why I should have to remember the exact MariaDB/MySql syntax for creating a stored procedure (including having to modify the delimiters). If you want to see how it *should* be implemented, download HeidiSQL, MySQL Workbench, etc. etc.
1. We investigated this: yes, we generate another type. I filed a ticket: https://youtrack.jetbrains.com/issue/DBE-5330. But you can change types while you create a new table. Anyway, I will appreciate if you send us a DDL of the root table for better understanding.
2. Can you please, make a screenshot? And also, what version do you use? If you use MySQL dialect and 2017.2 version it will not show MariaDB if the Generic dialect is set there. Dialects should match.
3. Incremental introspection (refresh only what is changed) cannot be performed in MySQL and MariaDB due to restrictions in their architecture. Well, about node opening: let's imagine that database is very very huge. I don't think one wishes this behaviour. So, let's discuss it here: https://youtrack.jetbrains.com/issue/DBE-5331
4. We're considering now a way to run them: https://youtrack.jetbrains.com/issue/DBE-1734. To create a new one it's better to use Generate template (Alt+Ins or Cmd+N): https://d3nmt5vlzunoa1.cloudfront.net/datagrip/files/2017/03/GenerateMenu.png