use crate::{Column, Table, NOT_NULL, NULL};
pub static TABLES: [Table; 26] = [
Table {
name: "account",
csv: include_str!("../csv/account.csv"),
columns: &[
Column::new("account_id", "INTEGER", NOT_NULL),
Column::new("account_parent", "INTEGER", NULL),
Column::new("account_description", "VARCHAR(30)", NULL),
Column::new("account_type", "VARCHAR(30)", NOT_NULL),
Column::new("account_rollup", "VARCHAR(30)", NOT_NULL),
Column::new("Custom_Members", "VARCHAR(255)", NULL),
],
},
Table {
name: "category",
csv: include_str!("../csv/category.csv"),
columns: &[
Column::new("category_id", "VARCHAR(30)", NOT_NULL),
Column::new("category_parent", "VARCHAR(30)", NULL),
Column::new("category_description", "VARCHAR(30)", NOT_NULL),
Column::new("category_rollup", "VARCHAR(30)", NULL),
],
},
Table {
name: "currency",
csv: include_str!("../csv/currency.csv"),
columns: &[
Column::new("currency_id", "INTEGER", NOT_NULL),
Column::new("date", "DATE", NOT_NULL),
Column::new("currency", "VARCHAR(30)", NOT_NULL),
Column::new("conversion_ratio", "DECIMAL(10,4)", NOT_NULL),
],
},
Table {
name: "customer",
csv: include_str!("../csv/customer.csv"),
columns: &[
Column::new("customer_id", "INTEGER", NOT_NULL),
Column::new("account_num", "BIGINT", NOT_NULL),
Column::new("lname", "VARCHAR(30)", NOT_NULL),
Column::new("fname", "VARCHAR(30)", NOT_NULL),
Column::new("mi", "VARCHAR(30)", NULL),
Column::new("address1", "VARCHAR(30)", NULL),
Column::new("address2", "VARCHAR(30)", NULL),
Column::new("address3", "VARCHAR(30)", NULL),
Column::new("address4", "VARCHAR(30)", NULL),
Column::new("city", "VARCHAR(30)", NULL),
Column::new("state_province", "VARCHAR(30)", NULL),
Column::new("postal_code", "VARCHAR(30)", NOT_NULL),
Column::new("country", "VARCHAR(30)", NOT_NULL),
Column::new("customer_region_id", "INTEGER", NOT_NULL),
Column::new("phone1", "VARCHAR(30)", NOT_NULL),
Column::new("phone2", "VARCHAR(30)", NOT_NULL),
Column::new("birthdate", "DATE", NOT_NULL),
Column::new("marital_status", "VARCHAR(30)", NOT_NULL),
Column::new("yearly_income", "VARCHAR(30)", NOT_NULL),
Column::new("gender", "VARCHAR(30)", NOT_NULL),
Column::new("total_children", "SMALLINT", NOT_NULL),
Column::new("num_children_at_home", "SMALLINT", NOT_NULL),
Column::new("education", "VARCHAR(30)", NOT_NULL),
Column::new("date_accnt_opened", "DATE", NOT_NULL),
Column::new("member_card", "VARCHAR(30)", NULL),
Column::new("occupation", "VARCHAR(30)", NULL),
Column::new("houseowner", "VARCHAR(30)", NULL),
Column::new("num_cars_owned", "INTEGER", NULL),
Column::new("fullname", "VARCHAR(60)", NOT_NULL),
],
},
Table {
name: "days",
csv: include_str!("../csv/days.csv"),
columns: &[
Column::new("day", "INTEGER", NOT_NULL),
Column::new("week_day", "VARCHAR(30)", NOT_NULL),
],
},
Table {
name: "department",
csv: include_str!("../csv/department.csv"),
columns: &[
Column::new("department_id", "INTEGER", NOT_NULL),
Column::new("department_description", "VARCHAR(30)", NOT_NULL),
],
},
Table {
name: "employee",
csv: include_str!("../csv/employee.csv"),
columns: &[
Column::new("employee_id", "INTEGER", NOT_NULL),
Column::new("full_name", "VARCHAR(30)", NOT_NULL),
Column::new("first_name", "VARCHAR(30)", NOT_NULL),
Column::new("last_name", "VARCHAR(30)", NOT_NULL),
Column::new("position_id", "INTEGER", NULL),
Column::new("position_title", "VARCHAR(30)", NULL),
Column::new("store_id", "INTEGER", NOT_NULL),
Column::new("department_id", "INTEGER", NOT_NULL),
Column::new("birth_date", "DATE", NOT_NULL),
Column::new("hire_date", "TIMESTAMP", NULL),
Column::new("end_date", "TIMESTAMP", NULL),
Column::new("salary", "DECIMAL(10,4)", NOT_NULL),
Column::new("supervisor_id", "INTEGER", NULL),
Column::new("education_level", "VARCHAR(30)", NOT_NULL),
Column::new("marital_status", "VARCHAR(30)", NOT_NULL),
Column::new("gender", "VARCHAR(30)", NOT_NULL),
Column::new("management_role", "VARCHAR(30)", NULL),
],
},
Table {
name: "employee_closure",
csv: include_str!("../csv/employee_closure.csv"),
columns: &[
Column::new("employee_id", "INTEGER", NOT_NULL),
Column::new("supervisor_id", "INTEGER", NOT_NULL),
Column::new("distance", "INTEGER", NULL),
],
},
Table {
name: "expense_fact",
csv: include_str!("../csv/expense_fact.csv"),
columns: &[
Column::new("store_id", "INTEGER", NOT_NULL),
Column::new("account_id", "INTEGER", NOT_NULL),
Column::new("exp_date", "TIMESTAMP", NOT_NULL),
Column::new("time_id", "INTEGER", NOT_NULL),
Column::new("category_id", "VARCHAR(30)", NOT_NULL),
Column::new("currency_id", "INTEGER", NOT_NULL),
Column::new("amount", "DECIMAL(10,4)", NOT_NULL),
],
},
Table {
name: "inventory_fact_1997",
csv: include_str!("../csv/inventory_fact_1997.csv"),
columns: &[
Column::new("product_id", "INTEGER", NOT_NULL),
Column::new("time_id", "INTEGER", NULL),
Column::new("warehouse_id", "INTEGER", NULL),
Column::new("store_id", "INTEGER", NULL),
Column::new("units_ordered", "INTEGER", NULL),
Column::new("units_shipped", "INTEGER", NULL),
Column::new("warehouse_sales", "DECIMAL(10,4)", NULL),
Column::new("warehouse_cost", "DECIMAL(10,4)", NULL),
Column::new("supply_time", "SMALLINT", NULL),
Column::new("store_invoice", "DECIMAL(10,4)", NULL),
],
},
Table {
name: "inventory_fact_1998",
csv: include_str!("../csv/inventory_fact_1998.csv"),
columns: &[
Column::new("product_id", "INTEGER", NOT_NULL),
Column::new("time_id", "INTEGER", NULL),
Column::new("warehouse_id", "INTEGER", NULL),
Column::new("store_id", "INTEGER", NULL),
Column::new("units_ordered", "INTEGER", NULL),
Column::new("units_shipped", "INTEGER", NULL),
Column::new("warehouse_sales", "DECIMAL(10,4)", NULL),
Column::new("warehouse_cost", "DECIMAL(10,4)", NULL),
Column::new("supply_time", "SMALLINT", NULL),
Column::new("store_invoice", "DECIMAL(10,4)", NULL),
],
},
Table {
name: "position",
csv: include_str!("../csv/position.csv"),
columns: &[
Column::new("position_id", "INTEGER", NOT_NULL),
Column::new("position_title", "VARCHAR(30)", NOT_NULL),
Column::new("pay_type", "VARCHAR(30)", NOT_NULL),
Column::new("min_scale", "DECIMAL(10,4)", NOT_NULL),
Column::new("max_scale", "DECIMAL(10,4)", NOT_NULL),
Column::new("management_role", "VARCHAR(30)", NOT_NULL),
],
},
Table {
name: "product",
csv: include_str!("../csv/product.csv"),
columns: &[
Column::new("product_class_id", "INTEGER", NOT_NULL),
Column::new("product_id", "INTEGER", NOT_NULL),
Column::new("brand_name", "VARCHAR(60)", NULL),
Column::new("product_name", "VARCHAR(60)", NOT_NULL),
Column::new("SKU", "BIGINT", NOT_NULL),
Column::new("SRP", "DECIMAL(10,4)", NULL),
Column::new("gross_weight", "DOUBLE", NULL),
Column::new("net_weight", "DOUBLE", NULL),
Column::new("recyclable_package", "BOOLEAN", NULL),
Column::new("low_fat", "BOOLEAN", NULL),
Column::new("units_per_case", "SMALLINT", NULL),
Column::new("cases_per_pallet", "SMALLINT", NULL),
Column::new("shelf_width", "DOUBLE", NULL),
Column::new("shelf_height", "DOUBLE", NULL),
Column::new("shelf_depth", "DOUBLE", NULL),
],
},
Table {
name: "product_class",
csv: include_str!("../csv/product_class.csv"),
columns: &[
Column::new("product_class_id", "INTEGER", NOT_NULL),
Column::new("product_subcategory", "VARCHAR(30)", NULL),
Column::new("product_category", "VARCHAR(30)", NULL),
Column::new("product_department", "VARCHAR(30)", NULL),
Column::new("product_family", "VARCHAR(30)", NULL),
],
},
Table {
name: "promotion",
csv: include_str!("../csv/promotion.csv"),
columns: &[
Column::new("promotion_id", "INTEGER", NOT_NULL),
Column::new("promotion_district_id", "INTEGER", NULL),
Column::new("promotion_name", "VARCHAR(30)", NULL),
Column::new("media_type", "VARCHAR(30)", NULL),
Column::new("cost", "DECIMAL(10,4)", NULL),
Column::new("start_date", "TIMESTAMP", NULL),
Column::new("end_date", "TIMESTAMP", NULL),
],
},
Table {
name: "region",
csv: include_str!("../csv/region.csv"),
columns: &[
Column::new("region_id", "INTEGER", NOT_NULL),
Column::new("sales_city", "VARCHAR(30)", NULL),
Column::new("sales_state_province", "VARCHAR(30)", NULL),
Column::new("sales_district", "VARCHAR(30)", NULL),
Column::new("sales_region", "VARCHAR(30)", NULL),
Column::new("sales_country", "VARCHAR(30)", NULL),
Column::new("sales_district_id", "INTEGER", NULL),
],
},
Table {
name: "reserve_employee",
csv: include_str!("../csv/reserve_employee.csv"),
columns: &[
Column::new("employee_id", "INTEGER", NOT_NULL),
Column::new("full_name", "VARCHAR(30)", NOT_NULL),
Column::new("first_name", "VARCHAR(30)", NOT_NULL),
Column::new("last_name", "VARCHAR(30)", NOT_NULL),
Column::new("position_id", "INTEGER", NULL),
Column::new("position_title", "VARCHAR(30)", NULL),
Column::new("store_id", "INTEGER", NOT_NULL),
Column::new("department_id", "INTEGER", NOT_NULL),
Column::new("birth_date", "TIMESTAMP", NOT_NULL),
Column::new("hire_date", "TIMESTAMP", NULL),
Column::new("end_date", "TIMESTAMP", NULL),
Column::new("salary", "DECIMAL(10,4)", NOT_NULL),
Column::new("supervisor_id", "INTEGER", NULL),
Column::new("education_level", "VARCHAR(30)", NOT_NULL),
Column::new("marital_status", "VARCHAR(30)", NOT_NULL),
Column::new("gender", "VARCHAR(30)", NOT_NULL),
],
},
Table {
name: "salary",
csv: include_str!("../csv/salary.csv"),
columns: &[
Column::new("pay_date", "TIMESTAMP", NOT_NULL),
Column::new("employee_id", "INTEGER", NOT_NULL),
Column::new("department_id", "INTEGER", NOT_NULL),
Column::new("currency_id", "INTEGER", NOT_NULL),
Column::new("salary_paid", "DECIMAL(10,4)", NOT_NULL),
Column::new("overtime_paid", "DECIMAL(10,4)", NOT_NULL),
Column::new("vacation_accrued", "DOUBLE", NOT_NULL),
Column::new("vacation_used", "DOUBLE", NOT_NULL),
],
},
Table {
name: "sales_fact_1997",
csv: include_str!("../csv/sales_fact_1997.csv"),
columns: &[
Column::new("product_id", "INTEGER", NOT_NULL),
Column::new("time_id", "INTEGER", NOT_NULL),
Column::new("customer_id", "INTEGER", NOT_NULL),
Column::new("promotion_id", "INTEGER", NOT_NULL),
Column::new("store_id", "INTEGER", NOT_NULL),
Column::new("store_sales", "DECIMAL(10,4)", NOT_NULL),
Column::new("store_cost", "DECIMAL(10,4)", NOT_NULL),
Column::new("unit_sales", "DECIMAL(10,4)", NOT_NULL),
],
},
Table {
name: "sales_fact_1998",
csv: include_str!("../csv/sales_fact_1998.csv"),
columns: &[
Column::new("product_id", "INTEGER", NOT_NULL),
Column::new("time_id", "INTEGER", NOT_NULL),
Column::new("customer_id", "INTEGER", NOT_NULL),
Column::new("promotion_id", "INTEGER", NOT_NULL),
Column::new("store_id", "INTEGER", NOT_NULL),
Column::new("store_sales", "DECIMAL(10,4)", NOT_NULL),
Column::new("store_cost", "DECIMAL(10,4)", NOT_NULL),
Column::new("unit_sales", "DECIMAL(10,4)", NOT_NULL),
],
},
Table {
name: "sales_fact_dec_1998",
csv: include_str!("../csv/sales_fact_dec_1998.csv"),
columns: &[
Column::new("product_id", "INTEGER", NOT_NULL),
Column::new("time_id", "INTEGER", NOT_NULL),
Column::new("customer_id", "INTEGER", NOT_NULL),
Column::new("promotion_id", "INTEGER", NOT_NULL),
Column::new("store_id", "INTEGER", NOT_NULL),
Column::new("store_sales", "DECIMAL(10,4)", NOT_NULL),
Column::new("store_cost", "DECIMAL(10,4)", NOT_NULL),
Column::new("unit_sales", "DECIMAL(10,4)", NOT_NULL),
],
},
Table {
name: "store",
csv: include_str!("../csv/store.csv"),
columns: &[
Column::new("store_id", "INTEGER", NOT_NULL),
Column::new("store_type", "VARCHAR(30)", NULL),
Column::new("region_id", "INTEGER", NULL),
Column::new("store_name", "VARCHAR(30)", NULL),
Column::new("store_number", "INTEGER", NULL),
Column::new("store_street_address", "VARCHAR(30)", NULL),
Column::new("store_city", "VARCHAR(30)", NULL),
Column::new("store_state", "VARCHAR(30)", NULL),
Column::new("store_postal_code", "VARCHAR(30)", NULL),
Column::new("store_country", "VARCHAR(30)", NULL),
Column::new("store_manager", "VARCHAR(30)", NULL),
Column::new("store_phone", "VARCHAR(30)", NULL),
Column::new("store_fax", "VARCHAR(30)", NULL),
Column::new("first_opened_date", "TIMESTAMP", NULL),
Column::new("last_remodel_date", "TIMESTAMP", NULL),
Column::new("store_sqft", "INTEGER", NULL),
Column::new("grocery_sqft", "INTEGER", NULL),
Column::new("frozen_sqft", "INTEGER", NULL),
Column::new("meat_sqft", "INTEGER", NULL),
Column::new("coffee_bar", "BOOLEAN", NULL),
Column::new("video_store", "BOOLEAN", NULL),
Column::new("salad_bar", "BOOLEAN", NULL),
Column::new("prepared_food", "BOOLEAN", NULL),
Column::new("florist", "BOOLEAN", NULL),
],
},
Table {
name: "store_ragged",
csv: include_str!("../csv/store_ragged.csv"),
columns: &[
Column::new("store_id", "INTEGER", NOT_NULL),
Column::new("store_type", "VARCHAR(30)", NULL),
Column::new("region_id", "INTEGER", NULL),
Column::new("store_name", "VARCHAR(30)", NULL),
Column::new("store_number", "INTEGER", NULL),
Column::new("store_street_address", "VARCHAR(30)", NULL),
Column::new("store_city", "VARCHAR(30)", NULL),
Column::new("store_state", "VARCHAR(30)", NULL),
Column::new("store_postal_code", "VARCHAR(30)", NULL),
Column::new("store_country", "VARCHAR(30)", NULL),
Column::new("store_manager", "VARCHAR(30)", NULL),
Column::new("store_phone", "VARCHAR(30)", NULL),
Column::new("store_fax", "VARCHAR(30)", NULL),
Column::new("first_opened_date", "TIMESTAMP", NULL),
Column::new("last_remodel_date", "TIMESTAMP", NULL),
Column::new("store_sqft", "INTEGER", NULL),
Column::new("grocery_sqft", "INTEGER", NULL),
Column::new("frozen_sqft", "INTEGER", NULL),
Column::new("meat_sqft", "INTEGER", NULL),
Column::new("coffee_bar", "BOOLEAN", NULL),
Column::new("video_store", "BOOLEAN", NULL),
Column::new("salad_bar", "BOOLEAN", NULL),
Column::new("prepared_food", "BOOLEAN", NULL),
Column::new("florist", "BOOLEAN", NULL),
],
},
Table {
name: "time_by_day",
csv: include_str!("../csv/time_by_day.csv"),
columns: &[
Column::new("time_id", "INTEGER", NOT_NULL),
Column::new("the_date", "TIMESTAMP", NULL),
Column::new("the_day", "VARCHAR(30)", NULL),
Column::new("the_month", "VARCHAR(30)", NULL),
Column::new("the_year", "SMALLINT", NULL),
Column::new("day_of_month", "SMALLINT", NULL),
Column::new("week_of_year", "INTEGER", NULL),
Column::new("month_of_year", "SMALLINT", NULL),
Column::new("quarter", "VARCHAR(30)", NULL),
Column::new("fiscal_period", "VARCHAR(30)", NULL),
],
},
Table {
name: "warehouse",
csv: include_str!("../csv/warehouse.csv"),
columns: &[
Column::new("warehouse_id", "INTEGER", NOT_NULL),
Column::new("warehouse_class_id", "INTEGER", NULL),
Column::new("stores_id", "INTEGER", NULL),
Column::new("warehouse_name", "VARCHAR(60)", NULL),
Column::new("wa_address1", "VARCHAR(30)", NULL),
Column::new("wa_address2", "VARCHAR(30)", NULL),
Column::new("wa_address3", "VARCHAR(30)", NULL),
Column::new("wa_address4", "VARCHAR(30)", NULL),
Column::new("warehouse_city", "VARCHAR(30)", NULL),
Column::new("warehouse_state_province", "VARCHAR(30)", NULL),
Column::new("warehouse_postal_code", "VARCHAR(30)", NULL),
Column::new("warehouse_country", "VARCHAR(30)", NULL),
Column::new("warehouse_owner_name", "VARCHAR(30)", NULL),
Column::new("warehouse_phone", "VARCHAR(30)", NULL),
Column::new("warehouse_fax", "VARCHAR(30)", NULL),
],
},
Table {
name: "warehouse_class",
csv: include_str!("../csv/warehouse_class.csv"),
columns: &[
Column::new("warehouse_class_id", "INTEGER", NOT_NULL),
Column::new("description", "VARCHAR(30)", NULL),
],
},
];