Hi Ian,
I've spent some time looking at available options, and I think I can
solve my own issues without using UUIDs at all.
I really wanted to continue to use integer IDs, partly because in some
cases these fields are exposed to my users as order/document/transaction
IDs. I also wanted to stay as close to web2py's default way of working,
and use the database platform's own continuous replication, rather than
doing it in a batch.
Using Postgres, the ID fields are are populated by a generator, and
changing the generator DDL to prevent clashing IDs should work for me,
as there will only ever be a small number of instances of the database.
It's actually very easy to do - you can interleave the values, so if you
had two instances of the database, you could have one issue odd nos. and
the other even: -
Instance 1: -
START WITH 1 INCREMENT BY 2
Instance 3: -
START WITH 2 INCREMENT BY 2
Alternatively, you could assign a range to each instance: -
Instance 1: -
START WITH 1 INCREMENT BY 1
MAXVALUE 99999999
Instance 2
START WITH 100000000 INCREMENT BY 1
MAXVALUE 199999999
I don't know how useful this will be to you if you are using SQLite, but
you may find that Postgres is a more robust platform for replication, so
it could worth looking into in any event.
--
Regards,
PhilK
'a bell is a cup...until it is struck'
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.