I'm not fluent with Elixir, but here is a sample script using  
declarative and SQLite (another database that has a very casual notion  
of foreign keys) which demonstrates the correct behavior.    First  
convert this script to Elixir (and also to 0.4 if needed, this script  
is made against 0.5) and use with your MySQL database, then work  
backwards towards your code to see at what point the "0" starts  
popping up.

from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base

engine = create_engine('sqlite://', echo=True)
Base = declarative_base()

class PublicationElement(Base):
     __tablename__ = 'publication'
     publication_id = Column(Integer, primary_key=True)
     name = Column(Unicode(255))


class SectionElement(Base):
     __tablename__ = 'section'
     section_id = Column(Integer, primary_key=True)
     publication_id = Column(Integer,  
ForeignKey('publication.publication_id'), nullable=False)
     publication = relation('PublicationElement', cascade="all, delete- 
orphan", backref='sections')
     name = Column(Unicode(255))


Base.metadata.create_all(engine)

Session = sessionmaker(bind=engine)

sec1 = SectionElement(name='s1',  
publication=PublicationElement(name='p1'))
sess = Session()
sess.add(sec1)
sess.commit()

assert sess.query(SectionElement).one().publication.name == 'p1'

sess.delete(sec1)
sess.commit()

assert engine.execute("select count(1) from publication").scalar() == 0
assert engine.execute("select count(1) from section").scalar() == 0



--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to