your tables already exist so stick with BigInteger.    Doesn’t make much 
difference on the client side.



Anurag Vaishwade <anuragvaishw...@gmail.com> wrote:

> Hello Everyone,
>                 I am facing issues with defining table's primary key column 
> as Numeric(18,0).I am connecting to a MSSQL and in database all tables are 
> defined as Numeric(18,0) for primary key.
> So to match with the database table schema I updated Sqlalchemy tables as 
> Numeric(18,0) but I am facing Issues when the table is having an insert 
> trigger.
> Eg.
>   sometable = Table("sometable",
>                                  metadata, 
>                                  Column("sometable_id",Numeric(18,0), 
> primary_key=True))
> So I gone through the docs and found I need to turn of 
> implicit_returning=False and optionally need to auto-increment primary_key so 
> I changed my schema to bellow 
> 
>   sometable = Table("sometable",
>                                  metadata, 
>                                  Column("sometable_id", Numeric(18,0), 
> autoincrement=True,primary_key=True),
>                                   implicit_returning=False)
> But still it throws the bellow error
> {FlushError: Instance <sometable at 0x7f2e8c180090> has a NULL identity key. 
> If this is
> an auto-generated value, check that the database table allows generation of 
> new primary key
> values, and that the mapped Column object is configured to expect these 
> generated values.
> Ensure also that this flush() is not occurring at an inappropriate time, such 
> as within a load()
> event.
> }
> 
> After the issue I found that autoincrement is the problem I went ahead and 
> changed my table schema to have data type BigInteger for primary key.
> 
>  sometable = Table("sometable",
>                                  metadata, 
>                                  Column("sometable_id", BigInteger, 
> autoincrement=True,primary_key=True),
>                                  implicit_returning=False)
> 
> And it worked fine for all cases including insert triggers as well.
> So my question is what should be the preferred data type for primary keys in 
> my scenario.
> Do i continue using BigInteger.
> Need suggestions guys.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sqlalchemy+unsubscr...@googlegroups.com.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to