#install python #install sqlalchemy
#database_setup.py
import sys
from sqlalchemy import Integer,Column.ForeignKey,String
from sqlclchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy import create_engine
Base = declarative_base()
class Restarant(Base):
_tablename_ = 'restaurant'
id = Column(integer,primary_key=true)
name = Column(String(20),nullable= false)
class MenuItem(Base):
_tablename_ = 'menuItem'
id = Column(integer,primary_key=true)
name = Column(String(20),nullable= false)
description = Column(String(100))
restaurant_id = Column(integer,ForeignKey(restaurant.id))
restaurant = relationship(Restaurant)
db_engine = create_engine('sqllite:://blahblah.db')
Base.metadata.create_all(db_engine)
#syntax-note
_tablename_ = 'some_table'
#crud.py
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from database_setup import Base,Restaurant,MenuItem
db_engine = create_engine('sqllite:://blahblah.db')
Base.metadata.bind = db_engine
DBSession = sessionmaker(bind = engine)
session = DBSession()
restaurant_1 = Restaurant(name="foo")
menuItem_1 = MenuItem(name="bar_1",description="bar bar",restaurant=restaurant_1)
session.add(restaurant_1)
session.add(menuItem_1)
session.commit()
menuItems = session.query(MenuItem).all()
for item in menuItem_1:
print item.name
menu_update_item = session.query(MenuItem).filter_by(id=1).one()
menu_update_item.description = 'yeah'
session.add(menu_update_item)
session.commit()
menu_delete_item = session.query(MenuItem).filter_by(id=1).one()
session.delete(menu_update_item)
session.commit()