from sqlalchemy import ( Column, Date, ForeignKey, Integer, MetaData, String, Table, UniqueConstraint, ) from sqlalchemy.orm import mapper, relationship from domain import model metadata = MetaData() order_lines = Table( "order_lines", metadata, Column("id", Integer, primary_key=True, autoincrement=True), Column("sku", String(255)), Column("qty", Integer, nullable=False), Column("orderid", String(255)), UniqueConstraint("orderid", "sku", "qty"), ) batches = Table( "batches", metadata, Column("id", Integer, primary_key=True, autoincrement=True), Column("ref", String(255)), Column("sku", String(255)), Column("_purchased_quantity", Integer, nullable=False), Column("eta", Date, nullable=True), ) allocations = Table( "allocations", metadata, Column("id", Integer, primary_key=True, autoincrement=True), Column("orderline_id", ForeignKey("order_lines.id")), Column("batch_id", ForeignKey("batches.id")), UniqueConstraint("orderline_id", "batch_id") )