Settings are overwritten on close

AndreKR posted 3 years ago in HeidiSQL portable
How to reproduce:
- Open one instance of HeidiSQL and make a connection
- Open a second instance of HeidiSQL and create and save a new connection
- Close the first instance
- Open another instance

Expected result:
- The created connection is still there

Actual result:
- The created connection is gone

I think this is because when the first instance of HeidiSQL was closed, the settings file has been overwritten with the list of connections as it was when it was opened, therefore reverting the connection list to the state before the new connection was created.

HeidiSQL 9.2.0.4947
AndreKR posted 4 months ago

This issue still exists in HeidiSQL 9.5.0.5196.

heidrun posted 4 months ago

Hello community,

can confirm that this bug still exists. quite frustrating. using HeidiSQL x64 9.5.r5245 Portable.

Seems when an instance of HeidiSQL closes, it writes its full config onto the existing one, instead of only changed config keys.

Normally I guess, using multiple open instances mostly will be different sessions (session in terms of "heidi session manager"), thus writing any session-specific config keys should by doable, though global settings, could conflict over another.

I think the easiest solution would be if any HeidiSQL instance reads the settings file and merges its changes before writing it, in contrast to blindly overwriting any existing config file. Or using a library which can write settings to a file by each config key independently.

Would by quite awesome if this bug could be fixed. Well worth a donation for a fix, on my part. kind regards.

ansgar posted 4 months ago

As a workaround, you could open multiple connections in one single HeidiSQL instance.

Please login to leave a reply, or register at first.