// Code generated by ptah; DO NOT EDIT.

schema "public" {
  comment = "standard public schema"
}

extension "plpgsql" {
  schema = "pg_catalog"
  if_not_exists = true
  version = "1.0"
  comment = "PL/pgSQL procedural language"
}

table "products" {
  schema = schema.public
  column "id" {
    type = bigint
  }
  column "sku" {
    type = text
    unique = true
  }
  column "stock" {
    type = integer
    default = sql("0")
  }
  column "archived" {
    type = boolean
    default = sql("false")
  }
  column "reorder_level" {
    type = integer
    default = sql("5")
  }
  primary_key {
    columns = [column.id]
  }
  index "products_in_stock_idx" {
    type = "btree"
    where = "((stock > 0) AND (NOT archived))"
    columns = [column.sku]
  }
}

view "available_products" {
  schema = schema.public
  as = " SELECT id,\n    sku,\n    stock\n   FROM products\n  WHERE stock >= reorder_level AND NOT archived;"
}

permission {
  to = "PUBLIC"
  for = schema.public
  privileges = ["USAGE"]
}

