Learn SQLAlchemy
from the bottom up as you try to earn your dream job at the Rock Em' Socks! musical emporium.
SQLAlchemy
is a popular SQL toolkit and Object Relational Mapper. It is written in Python and gives full power and flexibility of SQL to an application developer. It is an open source and cross-platform software.
In this Playlist you will get a hands-on experience that will make you feel confident about the basics of SQLAlchemy
!
The Playlists in this repo are supposed to present bite-sized exercises (or as we in Swimm call them, Units) that give you the building blocks necessary to create more complicated scripts and projects later on. As a bonus and to ease your progress as you slowly "learn to swim", the Playlists will follow the whimsical tale of a developer (you!) applying to their dream job at a record store, so you won't feel alone as you start to dive deeper into material.
Before you take your first few steps it's important to set our expectations:
- Each Unit you will be asked to make some tests pass (use
swimm test
as a shortcut for that) and will be presented with the files necessary for you to edit after youswimm play
. - The technical specifications of what you need to achieve will be written as docstrings inside the code itself.
- The Units descriptions themselves will not focus on teaching new
SQLAlchemy
concepts, but instead will offer some "Recommended References" that will help you solve this specific challenge. We encourage you to search online and dive deeper on your own!
- You need to know what SQL is, being able to run basic queries and understand how a DB is structured.
- Basic Python knowledge.
There are several things you need in order to run the relevant tests for the unit in this repo:
- Have the
python
command in your path, which will point to a versionX
of Python whereX>=3.8
. - Have
sqlalchemy
installed in your Python environment. Currently, this repo usessqlalchemy v1.3
, so make sure this is the version installed. - Have
pytest
installed in your Python environment.
We recommend using Pipenv
in order to set up a virtual environment that satisfies all the requirements above (although a classic requirements.txt
is also provided).