Before I start to detail the changes of this release I would like to announce that this is the last version launched this year because, in the next days, I'll be blessed with my second child and if you are a mother or a father you really know that a newborn can consume a lot of your time. So in order to avoid the release of a half-baked patch I decided to postpone the first beta of 0.9.1 to, at least, mid January. Said that, now let's see what pgModeler 0.9.1-alpha1 brings us! :)
** PostgreSQL 10 support fixes **
Some database importing issues related to PostgreSQL 10 were reported and was mainly linked to sequence importing which was causing a cascade of defects in the reverse engineering, diff process and database management because these three features rely on the import process at some point. The problem was that the catalog query used to retrieve sequences metadata which was working fine until PostgreSQL 9.6 stopped to work in 10. After researching a bit I've discovered that the catalog table which stores the sequences details has changed and I needed to write a new version of the query that could run properly in newer versions of the server. Solved the problem, the reverse engineering, the diff tool and the database managment were fully functional again.
** Improved diff tool **
Now pgModeler is able to compare two databases in the diff tool. As known, prior versions would compare a loaded model and a database. In this new release, the user can still compare a loaded model against a database but also has the option to select a database to use as the source of the modifications. This can be pretty helpful mainly when the user made changes directly to the database and doesn't want or can't have the model representing these changes and need to apply them right on another database.
In the image above the highlighted area indicates the new features included in the diff tool. Now we count with two separated sections, one for the database or model which is the source of the modifications and another section for the database which will have the detected changes applied.
One big difference from prior versions is that the diff tool can be triggered without the obligation of having a loaded model. If it is executed with no model open at design view the dialog automatically detects it and allows only the diff between two databases. There were no changes in the set of options or in the rest of the diff process except for the case when comparing two databases. In this case an initial reverse engineering is done in order to retrieve the model of the source database so the comparisons can be done properly. The progress info of the diff is now more accurate giving the real idea of which step is being executed.
** Easier way to create relationships **
Attending to some requests, now it's possible to create relationships by right-clicking tables and activating the relationship creation via
New > Relationship menu. In prior versions, one had to right-click blank areas in the canvas to start the creation of relationships. This can be quite annoying mainly if the user works with visible schemas rectangles which can grow fast as new objects are being added which diminishes the canvas area available for click.
It worth note that the same process can be activated via New object overlay by selecting the desired table and hitting
N and then pressing the key corresponding to the desired relationship type.
** Fade in/out objects listed in the object finder **
In the object finder when results contain graphical objects these ones can optionally be faded in order to make them visually highlighted facilitating the process of locating them in the canvas. There's no trick here, just click
Fade out to make the objects not in the result grid to be faded out highlighting only the ones matching the search keyword.
** Miscellaneous **
The data manipulation dialog was improved in such way that when dealing with deletes or updates in tables without primary keys the tuples with null values can be correctly considered. Note that these operations must be done with extreme care since they can affect more rows than the ones in the grid.
Another improvement made was the increasing of the maximum allowed amount of lines in the command history on SQL tool, which can be adjusted via
Settings > General > SQL history max. length. The complete list of changes of this release is available in the file CHANGELOG.md.
I would like to keep you informed about our Mac Mini campaign. We could gather 85.87% of the total amount needed. We're almost there and I'm really thankful to each person who decided to help! Remember: any donation no matter the amount is quite important. If you still didn't make your contribution please help us here and support the construction of a better macOS port of pgModeler!
Enjoy and until next time! ;)