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.

Reply via email to