I've been using datagrip for a little while and I like some aspects of it... Ctrl+N in particular is really handy when trying to find where things live in the DB. And I like the dark theme. But I have a few niggles with it. And bear in mind this is someone coming from SQL Management Studio and Visual Studio.
1. My only real showstopper is to do with how datagrip executes queries. I get the impression that there's some logic in there to break a query up into chunks. However, sometimes Datagrip just will not run a query - I get a syntax error in a weird place that's actually fine. If I copy/paste the query elsewhere (e.g. into linqpad set to SQL) then it runs fine. I lost a lot of time with this until I realised it wasn't my fault. I think one occasion it was to do with a CASE statement in the columns of a SELECT statement. In another I was getting errors pointing at the wrong lines because I had very similar code across the file. (I was inserting some data which had very similar parts.) I've not had a chance to really sit down and try to figure out what the problem areas are but it's been deeply frustrating at times, and it's the kind of thing that would make me give up on DG.
2. I don't find the projects very intuitive. I'm not sure what I'm supposed to be doing with them. Yes I guess I can put a number of arbitrary scripts here but it doesn't feel useful. Instead my scripts are usually elsewhere and datagrip constantly complains about it. For me, Visual Studio DB projects make sense as a way to organise scripts for a DB. And Management Studio makes sense for using arbitrary scripts etc. But DG seems to sit awkwardly in the middle.
3. Sometimes I'm not sure if datagrip has actually executed my query or not. Maybe it's because it updates the results so smoothly. But I have had some occasions where I thought I was running the script and I don't think it was doing anything. (E.g. when altering a stored proc, I find the proc hasn't actually updated at all.) Is there a way to clear the results?
4. I can't seem to get to grips with the indentation. Can I control the formatting around BEGIN and END? I'd like to set it up like braces in C# (i.e. BEGIN and END line up with the control statement above them.) I've also set DG up to use tabs not spaces, but I'm sure it's putting in spaces itself anyway and then complains that I have mixed tabs and spaces. (This last one I need to check that it's the case.)
5. I find the whole "console" stuff a little confusing - maybe because I think in terms of queries and connections and console seems to be a bit of both. Sometimes I select the wrong DB and start a script, but then can't figure out how to change which console/connection/thingy it's using. Sure I can use "USE db" but it's not quite the same.
6. We use SQL logins a lot in dev for some reason. Which I have to set up individually for every single DB I use. And if my password changes then it's a total pain. Can I just set the credentials up once somewhere?
7. It's lacking a lot of script generation features from SQL Management Studio which lets me script everything. And I don't think it ever gives me a full picture of the schema.
8. And a couple of complaints I have with jetbrains IDEs in general. Firstly, upgrading to a major version is a pain. i just want to wipe the old one and replace the new one as I can with a patch release. I end up with all my shortcuts broken, and bits of the old apps hanging around.
9. It would be handy to be able to just set all my jetbrains stuff up the same way. I started with R# but none of the other IDEs use the same keyboard shortcuts. Sure I can track down the resharper JAR and use it for all the other ones. Individually. I don't get on with the darcula theme exactly as it is as the grey contrast isn't strong enough (I've not figured out how to change the IDE chrome colours yet though). So every jetbrains tool I need to go in, configure the colours, increase font size etc. Each time separately. I don't know when I install, say DG it can't say "import settings from r#" or from webstorm or wherever. This is a bit of a minor gripe but I've always found it odd.
Sorry, I do love jetbrains tools, but I'm finding it hard to feel the same affection for DataGrip. Here's hoping that it can mature rather quickly.
One other feature I would like is the ability to use a different Windows login for a connection as opposed to the current user. I'm guessing that no tools allow this as it's unusual and maybe not easy to do.