The sequence has to be created (meaning, the appropriate DDL statements must be 
executed) on the target platform with those options, or the appropriate ALTER 
statements emitted to ALTER the sequence's settings.

So when those flags are applied to sqlalchemy.Sequence(), its assumed that 
you're using table.create(), metadata.create_all(), or sequence.create() to 
issue the CREATE SEQUENCE call.   The INCREMENT BY and START WITH clauses 
should be emitted as of the 0.6 series of SQLAlchemy.



On Feb 4, 2011, at 2:10 PM, Josh Stratton wrote:

> I'm connecting to an Oracle database for my work and we do replication
> by periodically joining tables across sites instead of a single server
> just in case a link in between goes down.  One issue with this though
> is I need to generate unique keys for a single table so if the
> connection does go down, insertions to both tables won't cause a
> conflict when it's time to merge.
> 
> Because the ids aren't important to me during insertion, I just use a
> Sequence object (since Oracle doesn't support autoincrementing).  This
> has worked fine, but I'm now trying how to combine this with the
> unique keys across the two sites.  I noticed the Sequence class has a
> start and increment tag, which I thought would work perfectly by
> interleaving the keys per site.
> 
> For example...
> 
> if site1:
>     init = 0
> else:
>     init = 1
> 
> sequence = Sequence('id_seq',start=init,increment=2)
> 
> I don't see any actual documentation for what start and increment do
> (http://www.sqlalchemy.org/docs/core/schema.html#sqlalchemy.schema.Sequence),
> so I'm just assuming they function as I'd expect, where start is the
> first id to try and increment is the space between the possible id's,
> so site 1's ids will always be % 2 == 0, while site 2's would be % 2
> == 1.
> 
> This doesn't seem to be what I'm getting however.  In a few test cases
> on one site, the first id starts at 10,283 and the next one generated
> is 10,284.  In this case it's starting at a crazy high value other
> than 0 and it doesn't seem to be incrementing at all.  Am I using
> these flags incorrectly?  Is this a bug in sqlalchemy?  Deprecated
> flags?  Or is this whole idea garbage and I should use a guid?
> 
> Thanks.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> To unsubscribe from this group, send email to 
> sqlalchemy+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/sqlalchemy?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to