Git Product home page Git Product logo

python-p3-theater-work's Introduction

Phase 3 Mock Code Challenge: Theater Work

Learning Goals

  • Write SQLAlchemy migrations.
  • Connect between tables using SQLAlchemy relationships.
  • Use SQLAlchemy to run CRUD statements in the database.

Key Vocab

  • Schema: the blueprint of a database. Describes how data relates to other data in tables, columns, and relationships between them.
  • Persist: save a schema in a database.
  • Engine: a Python object that translates SQL to Python and vice-versa.
  • Session: a Python object that uses an engine to allow us to programmatically interact with a database.
  • Transaction: a strategy for executing database statements such that the group succeeds or fails as a unit.
  • Migration: the process of moving data from one or more databases to one or more target databases.

Introduction

The Flatiron Theater Company is holding auditions!

An actor may only Audition for one Role, while a Role may have many Auditions for it!

one to many

Getting started

Run pipenv install && pipenv shell

Migrations

Create your migrations.

  • Auditions should have an actor (string), location (string) and belong_to a role (integer).
  • Roles should only have a character_name.

auditions Table

Column Type
actor string
location string
phone integer
hired boolean
role_id integer

roles Table

Column Type
character_name string

Relationship

  • What relationships will this need (i.e. one-to-one, one-to-many, and many-to-many)?

Audition

  • Audition.role returns an instance of role associated with this audition.
  • Audition.call_back() will change the the hired attribute to True.

Roles

  • Role.auditions returns all of the auditions associated with this role.
  • Role.actors returns a list of names from the actors associated with this role.
  • Role.locations returns a list of locations from the auditions associated with this role.
  • Role.lead() returns the first instance of the audition that was hired for this role or returns a string 'no actor has been hired for this role'.
  • Role.understudy() returns the second instance of the audition that was hired for this role or returns a string 'no actor has been hired for understudy for this role'.

python-p3-theater-work's People

Contributors

professor-ben avatar jlboba avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.