49 lines
1.3 KiB
Org Mode
49 lines
1.3 KiB
Org Mode
* Chapter 1: Schema and Types
|
|
#+BEGIN_SRC python :results output
|
|
import sqlalchemy
|
|
print(sqlalchemy.__version__)
|
|
#+END_SRC
|
|
|
|
#+RESULTS:
|
|
: 2.0.52
|
|
|
|
|
|
#+BEGIN_SRC python :session ch1
|
|
from sqlalchemy import MetaData
|
|
|
|
metadata = MetaData()
|
|
#+END_SRC
|
|
|
|
|
|
#+BEGIN_SRC python :session ch1
|
|
from sqlalchemy import Table, Column, Integer, Numeric, String, ForeignKey
|
|
|
|
cookies = Table(
|
|
"cookies",
|
|
metadata,
|
|
Column("cookie_id", Integer(), primary_key=True),
|
|
Column("cookie_name", String(50), index=True),
|
|
Column("cookie_recipie_url", String(255)),
|
|
Column("cookie_sku", String(55)),
|
|
Column("quantity", Integer()),
|
|
Column("unit_cost", Numeric(12, 2)),
|
|
)
|
|
#+END_SRC
|
|
|
|
#+BEGIN_SRC python :session ch1
|
|
from datetime import datetime
|
|
from sqlalchemy import DateTime
|
|
|
|
users = Table(
|
|
"users",
|
|
metadata,
|
|
Column("user_id", Integer(), primary_key=True),
|
|
Column("username", String(15), nullable=False, unique=True),
|
|
Column("email_address", String(255), nullable=False),
|
|
Column("phone", String(20), nullable=False),
|
|
Column("password", String(25), nullable=False),
|
|
Column("created_on", DateTime(), default=datetime.now),
|
|
Column("updated_on", DateTime(), default=datetime.now, onupdate=datetime.now),
|
|
)
|
|
#+END_SRC
|