I have a problem.
I have this in the database....
Field("whopper_id", "string", default=None, unique=True),
The thing with whopper_id is it always stores numbers. Said numbers
are anywhere from 20000 to 60000.
Also upon entering a new entry, I do the following
last_whopper_id = db(db.table.id > 0).select(db.table.whopper_id,
orderby=~db.table.whopper_id, limit=(0,1)).first().whopper_id
db.insert(whopper_id = (int(last_whopper_id) + 1))
So I do all this juju just to get the number to autoincrement.
The problem is, this structure is bad... first I'm storing integers in
a string field, and then manually incrementing them!!!!
I get errors like... IntegrityError: duplicate key value violates
unique constraint "table_whopper_id_key"... when two requests come in
to create a record within miliseconds of each other.
Here is where I need some help please.
I need to convert this entire field, into an autoincrementing integer
performed by the database, however ALL current whopper_ids must stay
EXACTLY the same.
I don't know how to accomplish this with web2py. I know what I want...
Field("whopper_id", "integer", unique=True, autoincrement=True)
But how do I convert all existing whopper_ids over and keep them the exact same?
Is this even possible with web2py and the DAL?
--
Thadeus