DataGrip 2017.1 new EAP build

Hello! It’s time for the new EAP build for 2017.1 which is going to be released later this March. There are several notable features, let’s take a look at them.

Schema management

We are still working on the schema selection UI. Now it’s a tree with the ability to choose the current schema. Of course, if the current schema is changed in some other place, DataGrip will show the new one.

SchemasPattern

The Schemas tab comes back to the data source properties dialog. We added the Pattern field where you can describe what you want to be introspected. The Ctrl+Q (Ctrl+J for OSX) shortcut will give you information about the syntax.

Import CSV

First: Drag-n-drop csv files to the datasource.

Second: Import zipped CSV files.

ImportCSV

Remember that the process information is available on the Database tab of Event Log. We added a link to the error file.

ImportErrors

Also, importing itself has become much faster. For instance, a 50 MB file was imported for 2 minutes. Now it takes just 10 seconds.

Other enhancements

The column details in the Modify Table dialog are now opened by double-cliсk.  We changed it based on your negative feedback on single-click opening.

ModifyTable

Data Source color (Context menuColor settings) now affects the console and result tab toolbars.

Colors

Aliases casing now can be set in Settings Editor Code style SQL. Aliases are offered in code completion.

Aliases

An amusing feature for MySQL: due to errors in MySQL grammar, a database cannot run queries with some combinations of parenthesis and UNION’s. Now DataGrip can handle these situations.

MySQL

That’s it! Don’t forget about twitter, forum, and the issue tracker.

Your DataGrip Team
_
JetBrains
The Drive to Develop

 

Posted in EAP, Features | Tagged , | 7 Comments

DataGrip 2016.3.3 is here

Hello! A minor update for DataGrip 2016.3 is out.

The most notable enhancements are:

The Drop action in the context menu for schemas.

DropSchema

We removed the Drop action from the context menu of the objects which cannot be dropped by DataGrip.

This build also comes with the following improvements:

— The random switch-off of Auto-commit has been fixed
Long lines on Oracle routines are no longer truncated

Update your version of DataGrip using the Check For Updates… menu or just download the new version from our web-site.

Please keep reporting problems to us if there are any.

Your DataGrip Team
JetBrains
The Drive to Develop

Posted in Features, Minor updates | 4 Comments

DataGrip 2017.1 Early Access Program Started

Hello! The new year has already brought us a new version of DataGrip, as today we start the Early Access Program for DataGrip 2017.1. Everybody can try this free build and take the new possibilities for a spin:

Сolumns mapping in CSV
Drag-n-drop tables
Smart options for SQL editing
Code insight
SQLite introspection
Miscellaneous

Let’s see what these enhancements are about.

Сolumns mapping in CSV import

Many users have asked us to make the import process more flexible. It frequently happens that the number of columns in a .csv file is not the same as in the target table. Or you just want to import several columns from a file but not all. Now it’s possible to map every column of the file being imported to a table column in your database, which can be either an existing table or a new one created during the import process. Of course, completion works for column names.

ImportMapping

Another new thing in this window is a DDL preview tab, showing you the code to be executed for creating or changing the table.

ImportDDL

Drag-n-drop tables

Now there is an easy way to export tables and their data from one database/schema to another. It works even if the tables are in different databases from different vendors. For example, if you need to copy a table from a PostgreSQL database to a MySQL database, just drag-n-drop it. Check if all is OK in the Import table window and go ahead!

DragnDrop

Smart options for SQL editing

We’ve added an SQL section to Settings → Editor → Smart Keys.

SmartOptions

The Insert string concatenation on Enter option lets you choose if you actually need this. It was the default option before, and it works like this:

SmartConcat

But the majority of database management systems support multiline string literals, so this IDE behavior may be annoying. Uncheck the option if you use multiline literals.

SmartLiteral

Qualify object in completion is also a thing we’ve been asked to implement. There are three options and here’s how they work. Suppose we have two schemas, max and public:

SameTables

The table persons is present in both schemas and the table cardvendors is only in max. Here are examples corresponding to the different values in Qualify object in completion:

– Always
CompletionAlways
– On collisions
CompletionCollisions
– Never
CompletionNever

Code insight

DataGrip now supports NEW/OLD and INSERTED/UPDATED tables when creating or editing triggers. This means you can use completion for these tables’ columns as well.

Inserted

Named parameters of routines can be completed by using second completion (pressing Ctrl+Space twice):

NamedParamCompletion

Also, the CREATE OR ALTER construction, which appeared in SQL Server 2016, is now supported as well.

CreateOrAlter

SQLite introspection

In earlier versions we used the introspection provided by JDBC-driver for SQLite. As a result, many objects were absent in the database tree and some source codes were incorrect. Now we show triggers, expression indexes, partial indexes and check constraints.

SqliteDBView

Also, now DataGrip loads the correct source code for views. Before it was ‘CREATE table’ code.

SQLiteView

Miscellaneous

A trigger template has been added to the Generate menu, which is invoked with Ctrl+N (Cmd+O for OSX).

GenerateTrigger

The quick info pop-up (Ctrl+J) for PostgreSQL system tables now contains the link to the documentation page at postgresql.org.

Documentaion

TNS names are correctly parsed from tnsnames.ora file in Oracle. This means that the completion is available in this field of the connection window.

TNS

Other enhancements

Zero-latency typing is now enabled by default
– Icons for synonyms are seen in structure view and completion
– It’s possible to use routine parameters in LIMIT in MySQL
– Customized colors are used for syntax highlighting of regular expressions

That’s all for today. Your feedback is welcome in our twitter, forum, and the issue tracker. Let us know what you think about DataGrip 2017.1!

Your DataGrip Team
_
JetBrains
The Drive to Develop

Posted in EAP, Features | Tagged , , | 6 Comments

DataGrip 2016.3.1 is Out

Hi! Thank you for your feedback about our 2016.3 release. This is the first minor update.

Fixed bugs:

DBE-2147 — Sometimes columns width is extremely narrow

bugfix

DBE-3562 — Routine/Trigger editor does not drop object before running

DBE-3605 — OSX connection to SQL Server does not accept password

And one enhancement:

Since it is possible to submit changes in bulk by Ctrl/Cmd+Enter starting from 2016.3, many users asked to add the submit button. Done!

submit

Please update your version of DataGrip from Check For Updates… menu or just download a new version from our web-site. Please, keep reporting problems to us if there are any.

Your DataGrip Team
JetBrains
The Drive to Develop

Posted in Minor updates | 6 Comments

DataGrip 2016.3 Released!

Hello, everybody!

This release cycle was really important for DataGrip — triggers support, find usages inside views/procedures, bulk submitting of changes: all these features were long-awaited and we thank everybody who helped us provide them in the right way during our EAP program. We are excited to release DataGrip 2016.3!

announce

As usual, everything described here is also available in 2016.3 version of IntelliJ IDEA, PyCharm, RubyMine and PHPStorm, except one small feature we will tell you about.

Here we go!

Source code storage

Now DataGrip shows triggers, views, and materialized views source code. Also, IDE lets you find usages of tables/views inside other views, stored procedures, and functions.

How does that work? The IDE loads the source code of major types of objects and puts them into the local storage. This opens up many new possibilities, so let’s briefly go over them.

To make this storage work, please re-synchronize your data source. Select Forget Schemas, and then click the Synс/Refresh button.

forgetschemas

You’re ready. Most importantly, now you can find usages of objects inside the source code of other objects. For instance, you can learn in which stored procedures, functions or views your table is used. As usual, press Alt+F7 on the table name or call it from the context menu. In the Usages window you can see the preview of objects, i.e. the source code of the objects where your table is used.

What else? We’ve fixed many bugs related to source code. Now DataGrip shows it for triggers in all popular management systems: MySQL, PostgreSQL, SQL Server, Oracle, and Sybase. We also added the Drop action to the context menu.

triggerssupport

View source code is also shown correctly in all places. In addition to Copy DDL, there is a new action in the context menu now: Open DDL in Сonsole.

openddlinconsole

We didn’t forget about materialized views in PostgreSQL: their source code is now available, and materialized views can be refreshed from the UI.

materializedviews

When you edit the source code of any object, DataGrip tracks your changes and highlights edited rows in the left editor panel. If you click on a highlighted row, a small toolbar is displayed with a Show Diff link. Click it to see the difference between the row you’ve changed and the one from the source code.

Important! Everything you’ll write in this editor will be saved as the local version of the object’s source code. It means that you will see all queries you entered here every time you open the editor, until you press Revert.

gutterdiff

If there are lots of changes in many places, you can see all of them in the Database Changes window. Please note that this window is available only in DataGrip, not other IntelliJ-based IDE’s.

databasechangesmenu

Any individual change can be clicked to display the diff viewer as well.

databasechanges

Remember that you can manage which sources will be loaded (or none at all) using the Options tab of data source properties, or from the context menu for several data sources at once.

loadsourcesmenu

Other enhancements connected to database objects support are:

  • Views can be renamed using Ctrl+F6 (Cmd+F6 for OSX).

renameviews

  • Operator’s signature in PostgreSQL is shown in the database view.

operatorssemantic

  • Comments in creating procedures/functions DDL are now saved to the database.

commentprocedures

Data editor

A lot of new features of this version are related to the data editor. The first and the most important: now all your changes are stored locally and can be submitted at once. Local changes are colored, so you can see which changes you are going to save, be it updating, inserting or deleting rows.
Submit changes by Ctrl+Enter (Cmd+Enter for OSX).  As usual, Ctrl+Z (Cmd+Z for OSX) is for canceling, but works in a tricky way — only the selected changes are canceled. If you wish to cancel all of them, select all cells by Ctrl+A (Cmd+A for OSX) before reverting.

bulksubmit

Several fields can be edited at once: just select them and begin to type. Of course, it works only if the columns you are editing are not unique and have the same type.

mordor

We added data conversion. Copy-paste your data even if the fields have different types of data, and moreover, even if the tables are in different databases from different vendors!

Since multiple cells edit is also available, this will work with the whole column of data as well. Date to string, bool to integer — not a problem.

conneversion

The familiar editor’s action called Select next occurrence by Alt+J (Ctrl+G for OSX) works here now, even if several cells are selected.

nextoccurence

Another familiar Expand selection action by Ctrl+W (Alt+Up for OSX) works in the data editor like this: first, a field is selected, then the column of the active field, then the row of the active field, and finally, the whole grid.

growselection

Code insight

The INSERT statement completion offers you not only the list of all fields but also the list of fields which have no default value.

completionwithputdefaults

The IDE will warn you about an unused variable or parameter in the function.

unusedinspection

Another inspection will let you know if there is a different number of columns in queries used in set operators (UNION, INTERSECT and EXCEPT).

unioninspection

The new intention action offers you to introspect the schema or databases right from the editor if DataGrip has no metadata on them yet.

introspectmissing

Some specific features for PostgreSQL users: when you use JOIN USING, DataGrip offers you only the field names common for both tables.

usingcompletion

Find Usages now handles positional parameters references: $1 will be treated as the first parameter’s usage and so on.

findusagesbucks

Navigate to the next method, familiar to many of you from our other IDE’s, now works in DataGrip and is called Navigate to the next statement.  Invoke it by Alt+Up and Alt+Down (Ctrl+Down and Ctrl+Up for OSX).

navigation

Data Dump

We integrated DataGrip with mysqldump and pg_dump. To dump the objects, use the Dump with… option from the context menu.

dumpcontext

This is what the dialogue window for MySQL looks like:

dumpmysql

And here is the one for PostgreSQL. Note that in both cases you can use completion for the console parameters.

dumppostgres

XML extractor comes back

Back in 0xDBE times (remember those?) we had an XML-extractor. Some of you asked to bring it back, and we’ve obliged.

xmlcontext

Here what the extractor’s result looks like:

xmlresult

Other features

When large script files are run from the context menu, now they are executed much faster.

fasterrunscripts

Now DataGrip detects if an old driver is in use and offers you to update it.

driverversions

You might have noticed the new icons! We hope you’ll like them.

icons

Other fixes and enhancements in this release include:

  • SQL Server 2016 grammar support
  • PostgreSQL 9.6 grammar support
  • Many minor objects can now be dropped from the UI
  • Many minor objects are now resolved in the SQL code
  • Rules support in PostgreSQL
  • External tables parsing in Oracle
  • The FiraCode font is bundled
  • Auto-inc support in SQLite
  • Expression index support in SQLite

That’s it! Get your 30-day trial of DataGrip today if you haven’t yet, or just enjoy the new features of DataGrip if you’re our user already. Your feedback is welcome in our twitter, forum, and the issue tracker. Let us know what you think!

Your DataGrip Team
_
JetBrains
The Drive to Develop

Posted in Features, Releases | Tagged | 9 Comments

DataGrip 2016.3 RC is Out

Hi! We are rushing to the release in the end of November, and here is the release candidate for 2016.3!

Among various bug-fixes a couple of new features were added since the last EAP:

Navigate to the next method, familiar to many of you from our other IDE’s now works in DataGrip. It’s called Navigate to the next statement and should be invoked by Alt+Down and Alt+Up (Ctrl+Down and Ctrl+Up for OSX).

navigation

If you run large script files from the context menu, please know that now they are executed much faster.

fasterrunscripts

We’ll be happy if you try this build and follow us not to miss the huge blog-post about all new features in this release!

DataGrip team

Posted in Releases | 4 Comments

Another EAP build: Data conversion, materialized views in PostgreSQL and more

Bonjour! We are rushing to the release and here is a new bunch of features you can already try in the DataGrip 2016.3 EAP.

The most notable feature of this build is data conversion. Now you can copy-paste your data even if the fields have different types of data, and moreover, even if the tables are in different databases from different vendors!

Since this release also brings you multiple cells edit, this will work with the whole column of data as well. Date to string, bool to integer — not a problem. Our loyal EAPers already know: edited rows are colored and stored locally before you submit your changes. Well, with 2016.3 you’ll get a powerful data editor, won’t you?

convertgifbig

Select Next Occurrence (Alt/Ctrl+G) action now works in data editor. Even if several cells are selected.

findoccurence

PostgreSQL users will be glad to know that we now fully support materialized views. It means that DataGrip lets you edit their source code, refresh them from the UI, and search for usages of objects inside them. And just a reminder: finding usages inside views is also a new feature of 2016.3. Please remember to refresh the schemas of your database to get this support.

matviews

Triggers, which are also supported in this version, now can be dropped from the UI.

droptrigger

If you run large script files from the context menu, please know that now they are executed much faster.

runscsipts

And maybe you’ve already noticed the new icons! We hope you like them.

icons

That’s all for today. Your feedback is welcome in our twitter, forum, and the issue tracker. Let us know what you think about 2016.3!

Your DataGrip Team
_
JetBrains
The Drive to Develop

Posted in EAP, Features | Leave a comment

More source codes! New EAP of DataGrip 2016.3

Hello! We have a new EAP build out which is very important.

Now DataGrip shows triggers and views source code and lets you find usages of tables/views inside other views, stored procedures and functions.

So how does that work? The IDE loads the source code of major types of objects and puts them into local storage. This opens up many new possibilities, so let’s briefly go over them.

To make this storage work, please re-synchronize your data source. Select Forget Schemas, and then click the Synс/Refresh button.

forgetschemas

OK, now you’re ready. Most importantly, now you can find usages of objects inside the source code of other objects. For instance, you can learn in which stored procedures, functions or views your table is used. As usual, press Alt+F7 on the table name or call it from the context menu.

findusagescontext

In the Usages window you can see a preview of the objects, i.e. the source code of the objects where your table is used.

findusagesresult

What else? We’ve fixed many bugs related to source code. Now DataGrip shows it for triggers in all popular management systems: MySQL, PostgreSQL, SQL Server, Oracle and Sybase.

triggersource

View code is also shown correctly in all places. In addition to Copy DDL, there is a new action in the context menu now: Open DDL in Сonsole.

openddlinconsole

When you edit the source code of any object, DataGrip tracks your changes and highlights edited rows in the left editor panel. If you click on a highlighted row, a small toolbar is displayed with a Show Diff link. Click it to see the difference between the row you’ve changed and the one from the source code.

gutterdiff

If there are lots of changes in many places, you can see all of them from the Database Changes window. Any individual change can be clicked to display the diff viewer as well.

diffchanges

Remember that you can manage which source codes will be loaded (or none at all) in the Options tab of datasouce properties, or from the context menu for many datasources at once.

sourceloadoptions

That’s all for now! Please try all these new changes and let us know your opinion about them. We need to know your thoughts to polish all this before the official release in late November.

Your DataGrip Team

 

Posted in EAP, Features | Tagged | Leave a comment

Connecting DataGrip to SQL Server Express LocalDB

First you need to check if you LocalDB instance is ready for connection. Locate SqllocalDB.exe and run the SqllocalDB.exe i command in terminal. You will see the list of available LocalDB instances on the server which you are connecting to.

01-console-info

Say we want to connect to the v11.0 instance. First we need to check its state by running SqllocalDB.exe i v11.0 command.

02-console-instance-info

As you can see by examining the State field, right now the instance is stopped. Remember that by default every LocaDB instance is terminated after several minutes of inactivity. This behavior can be changed, but now we need to start the instance by running SqllocalDB.exe s v11.0

03-console-instance-start

It’s ready, so let’s launch DataGrip.

Invoke the database view by pressing Alt+1 and click + to add a new datasource, then choose SQL Server (jTds).

newdatasource

In the connection window we first select LocalDB in the dropdown next to the URL field. Then we go to the Instance field and select the instance to connect to, in our case, v11.0.

localdbchoosing

Then, go to the Advanced tab and find the DOMAIN option and set it to the name of the machine where the instance is installed. If the instance is on your local machine, use the name of your computer.

domainchoosing

The only thing left to do is to enter the access credentials and then click Test connection.

testsonnection

Voila!

result

Your DataGrip Team
_
JetBrains
The Drive to Develop

 

Posted in Tutorial | Tagged , , | 1 Comment

New EAP build of 2016.3: bulk submit, improved drivers management, renaming views and more.

Hi there! It’s time for the new EAP build for 2016.3 which is going to be released later this November. There are several interesting features inside, so without further ado let’s take a look at them.

Bulk submit changes

You’ve waited a long time for this way of editing data, and here it is: Now all your changes are stored locally and can be submitted at once. Local changes are colored, so you can see which changes you are going to save, be it updating, inserting or deleting rows. As usual, Ctrl/Cmd+Z is for canceling.

safe-edit

If you want to bring back the behavior of previous versions, turn it on in Settings.

submitimmi

Driver management

Now DataGrip underlines your datasource if the version of the driver is not the latest. If you really wish to use the particular version of the driver, tweak it in driver settings. Also, you can uncheck “Use provided driver” and use only files added to the Additional list. Otherwise, files in this list will be used with the provided driver.

olddrivers

Renaming views

DataGrip now supports renaming views: As with tables, if you rename the view it will affect the object in the database and all its usages in open files.

renameview

XML extractor

Back in 0xDBE times (remember those?) we had an XML-extractor. Some of you asked to bring it back, and we’ve obliged.

xmlmenu

Here what the extractor’s result looks like:

xmlresult

SQLite support

Some improvements in SQLite support: modify table dialog now lets you add an auto-increment. Yeah, the way it’s done is tricky, but that’s how SQLite actually works!

auto_inc

Expression index in SQLite is not a problem for DataGrip anymore.

expressionindex

Besides all of the above, this build brings:

  • PostgreSQL 9.6 grammar support
  • Table resolve for SELECT * INTO in stored procedures
  • Correct resolving in type creation in Oracle

Please know, your feedback is always welcome in our twitter, forum and the issue tracker.

Your DataGrip Team
_
JetBrains
The Drive to Develop

Posted in EAP, Features | Tagged , , , | Leave a comment