Hi Neil

I managed to make queries on those tables by creating a new table
definition and getting a class mapping from that explicitly, for
example:


>>> from sqlalchemy.ext.sqlsoup import SqlSoup
>>> from sqlalchemy import *
>>> engine = create_engine('sqlite:///:memory:')
>>> metadata = MetaData(bind=engine)
>>> retailer_table = Table('retailer', metadata, Column('retailer_id', 
>>> primary_key=True), autoload=True)
>>> db = SqlSoup(metadata)
>>> Retailer = db.map(retailer_table)
>>> Retailer.first()

MappedRetailer(retailer_id=33199, ...)


So then the Retailer class returns MappedRetailer instances even
though the underlying schema defines no primary key. That part seemed
fine, but I then had to work with relations on those tables that I was
mapping explicitly and I found it easier at that point just to skip
SqlSoup and define the table metadata and mapping myself.


I hope that helps.

Stephen Emslie

On Sun, Apr 26, 2009 at 11:48 PM, NeilK <neilku...@gmail.com> wrote:
> Hi Stephen, did you find a way to access those tables without a
> primary key using SqlSoup?
>
> Thanks,
> -neil
>
> On Apr 25, 3:42 am, Stephen Emslie <stephenems...@gmail.com> wrote:
>> I am using SqlSoup to do a little maintenance on a database whose
>> schema I have no control over. Unfortunately some tables are without a
>> primary key, and thus SqlSoup complains when accessing them:
>>
>> sqlalchemy.ext.sqlsoup.PKNotFoundError: table 'category' does not have
>> a primary key defined
>>
>> When reflecting tables directly with sqlalchemy, using Table(name,
>> meta, autoload=True), one can override the reflected columns to
>> compensate for the lack of a primary key. Is this possible in SqlSoup?
>>
>> Stephen Emslie

--~--~---------~--~----~------------~-------~--~----~
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