Skip to content

Instantly share code, notes, and snippets.

@auycro
Last active June 20, 2016 22:03
Show Gist options
  • Save auycro/020b2d5e7176a9f8be05d001681ca6b2 to your computer and use it in GitHub Desktop.
Save auycro/020b2d5e7176a9f8be05d001681ca6b2 to your computer and use it in GitHub Desktop.
udacity Full Stack foundation

#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()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment