db/sql/schema_sqlite3.sql (46 lines of code) (raw):

-- Drop everything DROP TABLE IF EXISTS "products"; DROP TABLE IF EXISTS "product_types"; DROP TABLE IF EXISTS "customers"; DROP TABLE IF EXISTS "orders"; DROP TABLE IF EXISTS "order_lines"; -- Create everything CREATE TABLE "products" ( "id" serial NOT NULL, "sku" varchar NOT NULL UNIQUE, "name" varchar NOT NULL, "description" TEXT NOT NULL, "type_id" int NOT NULL, "stock" int NOT NULL, "cost" int NOT NULL, "selling_price" int NOT NULL, PRIMARY KEY ("id"), FOREIGN KEY ("type_id") REFERENCES product_types("id") ); CREATE TABLE "product_types" ( "id" serial NOT NULL, "name" varchar NOT NULL UNIQUE, PRIMARY KEY ("id") ); CREATE TABLE "customers" ( "id" serial NOT NULL, "full_name" varchar NOT NULL, "company_name" varchar NOT NULL, "email" varchar NOT NULL, "address" varchar NOT NULL, "postal_code" varchar NOT NULL, "city" varchar NOT NULL, "country" varchar NOT NULL, PRIMARY KEY ("id") ); CREATE TABLE "orders" ( "id" INTEGER PRIMARY KEY AUTOINCREMENT, "customer_id" int NOT NULL, "created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY ("customer_id") REFERENCES customers("id") ); CREATE TABLE "order_lines" ( "order_id" int NOT NULL, "product_id" int NOT NULL, "amount" int NOT NULL, FOREIGN KEY ("order_id") REFERENCES orders("id"), FOREIGN KEY ("product_id") REFERENCES products("id") );