# Generated from the provider's pinned SQLite source fixture.
# Edit the generator inputs, then regenerate; do not edit this file by hand.
# SPDX-License-Identifier: BSD-3-Clause

record "actor" {
  key = ["actor_id"]

  field "actor_id" {
    type = "int"
  }

  field "first_name" {
    required = true
    type = "string"
  }

  field "last_name" {
    required = true
    type = "string"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "address" {
  key = ["address_id"]

  field "address_id" {
    type = "int"
  }

  field "address" {
    required = true
    type = "string"
  }

  field "address2" {
    type = "string"
  }

  field "district" {
    required = true
    type = "string"
  }

  field "city_id" {
    required = true
    record = "city"
  }

  field "postal_code" {
    type = "string"
  }

  field "phone" {
    required = true
    type = "string"
  }

  field "location" {
    required = true
    type = "document"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "category" {
  key = ["category_id"]

  field "category_id" {
    type = "int"
  }

  field "name" {
    required = true
    type = "string"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "city" {
  key = ["city_id"]

  field "city_id" {
    type = "int"
  }

  field "city" {
    required = true
    type = "string"
  }

  field "country_id" {
    required = true
    record = "country"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "country" {
  key = ["country_id"]

  field "country_id" {
    type = "int"
  }

  field "country" {
    required = true
    type = "string"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "customer" {
  key = ["customer_id"]

  field "customer_id" {
    type = "int"
  }

  field "store_id" {
    required = true
    record = "store"
  }

  field "first_name" {
    required = true
    type = "string"
  }

  field "last_name" {
    required = true
    type = "string"
  }

  field "email" {
    type = "string"
  }

  field "address_id" {
    required = true
    record = "address"
  }

  field "active" {
    required = true
    type = "int"
  }

  field "create_date" {
    required = true
    type = "string"
  }

  field "last_update" {
    type = "string"
  }
}

record "film" {
  key = ["film_id"]

  field "film_id" {
    type = "int"
  }

  field "title" {
    required = true
    type = "string"
  }

  field "description" {
    type = "string"
  }

  field "release_year" {
    type = "string"
  }

  field "language_id" {
    required = true
    record = "language"
  }

  field "original_language_id" {
    record = "language"
  }

  field "rental_duration" {
    required = true
    type = "int"
  }

  field "rental_rate" {
    required = true
    type = "decimal"
  }

  field "length" {
    type = "int"
  }

  field "replacement_cost" {
    required = true
    type = "decimal"
  }

  field "rating" {
    type = "string"
  }

  field "special_features" {
    type = "string"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "film_actor" {
  key = ["actor_id","film_id"]

  field "actor_id" {
    required = true
    record = "actor"
  }

  field "film_id" {
    required = true
    record = "film"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "film_category" {
  key = ["film_id","category_id"]

  field "film_id" {
    required = true
    record = "film"
  }

  field "category_id" {
    required = true
    record = "category"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "film_text" {
  key = ["film_id"]

  field "film_id" {
    required = true
    type = "int"
  }

  field "title" {
    required = true
    type = "string"
  }

  field "description" {
    type = "string"
  }
}

record "inventory" {
  key = ["inventory_id"]

  field "inventory_id" {
    type = "int"
  }

  field "film_id" {
    required = true
    record = "film"
  }

  field "store_id" {
    required = true
    record = "store"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "language" {
  key = ["language_id"]

  field "language_id" {
    type = "int"
  }

  field "name" {
    required = true
    type = "string"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "payment" {
  key = ["payment_id"]

  field "payment_id" {
    type = "int"
  }

  field "customer_id" {
    required = true
    record = "customer"
  }

  field "staff_id" {
    required = true
    record = "staff"
  }

  field "rental_id" {
    record = "rental"
  }

  field "amount" {
    required = true
    type = "decimal"
  }

  field "payment_date" {
    required = true
    type = "string"
  }

  field "last_update" {
    type = "string"
  }
}

record "rental" {
  key = ["rental_id"]

  field "rental_id" {
    type = "int"
  }

  field "rental_date" {
    required = true
    type = "string"
  }

  field "inventory_id" {
    required = true
    record = "inventory"
  }

  field "customer_id" {
    required = true
    record = "customer"
  }

  field "return_date" {
    type = "string"
  }

  field "staff_id" {
    required = true
    record = "staff"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "staff" {
  key = ["staff_id"]

  field "staff_id" {
    type = "int"
  }

  field "first_name" {
    required = true
    type = "string"
  }

  field "last_name" {
    required = true
    type = "string"
  }

  field "address_id" {
    required = true
    record = "address"
  }

  field "picture" {
    type = "document"
  }

  field "email" {
    type = "string"
  }

  field "store_id" {
    required = true
    record = "store"
  }

  field "active" {
    required = true
    type = "int"
  }

  field "username" {
    required = true
    type = "string"
  }

  field "password" {
    type = "string"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}

record "store" {
  key = ["store_id"]

  field "store_id" {
    type = "int"
  }

  field "manager_staff_id" {
    required = true
    record = "staff"
  }

  field "address_id" {
    required = true
    record = "address"
  }

  field "last_update" {
    required = true
    type = "string"
  }
}
