Hello all,
it’s not the first time I try to put this to the agenda. I just happened to run into the same problem. We develop on MS SQL Server and use DB identity for reasons. We deploy our solutions on all kinds of different databases that do not have DB identities, but named sequences (triggers). In the situation I am in now I want to deploy to PostgreSQL and I’d be fine with Servoy sequences. In older versions Servoy fell back to Servoy sequences if the provided sequence type was not supported by the target database. In 3.5 this does not seem to be the case anymore. Instead, I get DB errors when creating new records.
We have almost 200 tables. I currently see no other way than opening developer and clicking on 200 tables, find the pk column, click properties and choose Servoy sequence. This is a job for idiots.
What I think is needed is this:
- Urgently separate sequence handling from updating auto enter values
This is one of the biggest quirks, in my eyes. I cannot see a single situation where I don’t want auto enter values (like a 1 in a column, the server datetime or whatever) NOT to be updated. What situation would that be? If I have a solution running for example on PostgreSQL with Servoy sequencing, I can only choose between bad and evil when updating with a solution from MS SQL with DB Identities. Either I loose newly created auto enters or destroy half of the solution because Servoy overrides the sequence settings with something useless in Postgres.
- Make an option somewhere “Use Servoy sequences for all tables of this server”.
This would allow me to at least fall back to Servoy sequences independent from whatever auto enters and would save me hours of silly clicking on 200 tables. Even if in the case of one table or two I would have to make a manual correction…
- Make an option to set the sequencing for a whole server to one of the following
- Servoy sequences
- DB Identities
- Named database sequence with a given pattern (for example “seq_tableName”)
If, for some reason, I deploy my solution on Oracle for example and CANNOT use Servoy sequences (because other apps also write to the tables), I will have to walk over 200 tables and manually enter a sequence name.
While 3. would be a great addition for the above situation, I consider the other two points crucial.
Maybe somebody else has ideas in this area?
I now I have to dig into the Servoy repository to see how I can set Servoy sequences to all tables, which is not really fun to do.
Thanks for taking the time to read this
Patrick
P.S.: Further reading for example here http://forum.servoy.com/viewtopic.php?p=43121