chore: import upstream snapshot with attribution
Integration Tests - MySQL + Elasticsearch / Detect Changes (push) Has been cancelled
Integration Tests - MySQL + Elasticsearch / integration-tests-mysql-elasticsearch (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / integration-tests-postgres-elasticsearch-redis (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / integration-tests-postgres-opensearch (push) Has been cancelled
Java Checkstyle / java-checkstyle (push) Has been cancelled
Maven Collate Tests / maven-collate-ci (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests-status (push) Has been cancelled
Publish Package to Maven Central Repository / publish-maven-packages (push) Has been cancelled
OpenMetadata Service Unit Tests / Detect Changes (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests (push) Has been cancelled
OpenMetadata Service Unit Tests / k8s_operator-unit-tests (push) Has been cancelled
Integration Tests - MySQL + Elasticsearch / Detect Changes (push) Has been cancelled
Integration Tests - MySQL + Elasticsearch / integration-tests-mysql-elasticsearch (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / integration-tests-postgres-elasticsearch-redis (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / integration-tests-postgres-opensearch (push) Has been cancelled
Java Checkstyle / java-checkstyle (push) Has been cancelled
Maven Collate Tests / maven-collate-ci (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests-status (push) Has been cancelled
Publish Package to Maven Central Repository / publish-maven-packages (push) Has been cancelled
OpenMetadata Service Unit Tests / Detect Changes (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests (push) Has been cancelled
OpenMetadata Service Unit Tests / k8s_operator-unit-tests (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"id": null,
|
||||
"name": "jaffle_shop",
|
||||
"description": "Sample dbt jaffle_shop project database demonstrating dbt metadata integration with raw, staging, and final data layers"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"id": null,
|
||||
"name": "public",
|
||||
"description": "Default public schema for the jaffle_shop dbt project"
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"type": "postgres",
|
||||
"serviceName": "postgres_sample",
|
||||
"serviceConnection": {
|
||||
"config": {
|
||||
"type": "Postgres",
|
||||
"hostPort": "localhost:5432",
|
||||
"username": "openmetadata_user",
|
||||
"authType": {
|
||||
"password": "openmetadata_password"
|
||||
},
|
||||
"database": "jaffle_shop"
|
||||
}
|
||||
},
|
||||
"sourceConfig": {
|
||||
"config": {
|
||||
"type": "DatabaseMetadata"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,153 @@
|
||||
{
|
||||
"dataModels": [
|
||||
{
|
||||
"tableFqn": "postgres_sample.jaffle_shop.public.raw_customers",
|
||||
"modelType": "DBT",
|
||||
"resourceType": "seed",
|
||||
"description": "Raw customer data loaded from CSV seed file",
|
||||
"path": "seeds/raw_customers.csv",
|
||||
"rawSql": "",
|
||||
"sql": "",
|
||||
"dbtSourceProject": "jaffle_shop",
|
||||
"upstream": [],
|
||||
"columns": [
|
||||
{"name": "id", "dataType": "INT", "description": "Primary key for customers"},
|
||||
{"name": "first_name", "dataType": "VARCHAR", "dataLength": 256, "description": "Customer first name"},
|
||||
{"name": "last_name", "dataType": "VARCHAR", "dataLength": 256, "description": "Customer last name"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableFqn": "postgres_sample.jaffle_shop.public.raw_orders",
|
||||
"modelType": "DBT",
|
||||
"resourceType": "seed",
|
||||
"description": "Raw order data loaded from CSV seed file",
|
||||
"path": "seeds/raw_orders.csv",
|
||||
"rawSql": "",
|
||||
"sql": "",
|
||||
"dbtSourceProject": "jaffle_shop",
|
||||
"upstream": [],
|
||||
"columns": [
|
||||
{"name": "id", "dataType": "INT", "description": "Primary key for orders"},
|
||||
{"name": "user_id", "dataType": "INT", "description": "Foreign key to customers"},
|
||||
{"name": "order_date", "dataType": "DATE", "description": "Date the order was placed"},
|
||||
{"name": "status", "dataType": "VARCHAR", "dataLength": 64, "description": "Order status"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableFqn": "postgres_sample.jaffle_shop.public.raw_payments",
|
||||
"modelType": "DBT",
|
||||
"resourceType": "seed",
|
||||
"description": "Raw payment data loaded from CSV seed file",
|
||||
"path": "seeds/raw_payments.csv",
|
||||
"rawSql": "",
|
||||
"sql": "",
|
||||
"dbtSourceProject": "jaffle_shop",
|
||||
"upstream": [],
|
||||
"columns": [
|
||||
{"name": "id", "dataType": "INT", "description": "Primary key for payments"},
|
||||
{"name": "order_id", "dataType": "INT", "description": "Foreign key to orders"},
|
||||
{"name": "payment_method", "dataType": "VARCHAR", "dataLength": 64, "description": "Payment method used"},
|
||||
{"name": "amount", "dataType": "INT", "description": "Payment amount in cents"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableFqn": "postgres_sample.jaffle_shop.public.stg_customers",
|
||||
"modelType": "DBT",
|
||||
"resourceType": "model",
|
||||
"description": "Staged customer data with renamed columns",
|
||||
"path": "models/staging/stg_customers.sql",
|
||||
"rawSql": "WITH source AS (\n SELECT * FROM {{ ref('raw_customers') }}\n)\n\nSELECT\n id AS customer_id,\n first_name,\n last_name\nFROM source",
|
||||
"sql": "WITH source AS (\n SELECT * FROM jaffle_shop.public.raw_customers\n)\n\nSELECT\n id AS customer_id,\n first_name,\n last_name\nFROM source",
|
||||
"dbtSourceProject": "jaffle_shop",
|
||||
"upstream": ["postgres_sample.jaffle_shop.public.raw_customers"],
|
||||
"columns": [
|
||||
{"name": "customer_id", "dataType": "INT", "description": "Unique identifier for a customer"},
|
||||
{"name": "first_name", "dataType": "VARCHAR", "dataLength": 256, "description": "Customer first name"},
|
||||
{"name": "last_name", "dataType": "VARCHAR", "dataLength": 256, "description": "Customer last name"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableFqn": "postgres_sample.jaffle_shop.public.stg_orders",
|
||||
"modelType": "DBT",
|
||||
"resourceType": "model",
|
||||
"description": "Staged order data with renamed columns",
|
||||
"path": "models/staging/stg_orders.sql",
|
||||
"rawSql": "WITH source AS (\n SELECT * FROM {{ ref('raw_orders') }}\n)\n\nSELECT\n id AS order_id,\n user_id AS customer_id,\n order_date,\n status\nFROM source",
|
||||
"sql": "WITH source AS (\n SELECT * FROM jaffle_shop.public.raw_orders\n)\n\nSELECT\n id AS order_id,\n user_id AS customer_id,\n order_date,\n status\nFROM source",
|
||||
"dbtSourceProject": "jaffle_shop",
|
||||
"upstream": ["postgres_sample.jaffle_shop.public.raw_orders"],
|
||||
"columns": [
|
||||
{"name": "order_id", "dataType": "INT", "description": "Unique identifier for an order"},
|
||||
{"name": "customer_id", "dataType": "INT", "description": "Foreign key to customers"},
|
||||
{"name": "order_date", "dataType": "DATE", "description": "Date the order was placed"},
|
||||
{"name": "status", "dataType": "VARCHAR", "dataLength": 64, "description": "Order status"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableFqn": "postgres_sample.jaffle_shop.public.stg_payments",
|
||||
"modelType": "DBT",
|
||||
"resourceType": "model",
|
||||
"description": "Staged payment data with renamed columns and converted amount from cents to dollars",
|
||||
"path": "models/staging/stg_payments.sql",
|
||||
"rawSql": "WITH source AS (\n SELECT * FROM {{ ref('raw_payments') }}\n)\n\nSELECT\n id AS payment_id,\n order_id,\n payment_method,\n amount / 100.0 AS amount\nFROM source",
|
||||
"sql": "WITH source AS (\n SELECT * FROM jaffle_shop.public.raw_payments\n)\n\nSELECT\n id AS payment_id,\n order_id,\n payment_method,\n amount / 100.0 AS amount\nFROM source",
|
||||
"dbtSourceProject": "jaffle_shop",
|
||||
"upstream": ["postgres_sample.jaffle_shop.public.raw_payments"],
|
||||
"columns": [
|
||||
{"name": "payment_id", "dataType": "INT", "description": "Unique identifier for a payment"},
|
||||
{"name": "order_id", "dataType": "INT", "description": "Foreign key to orders"},
|
||||
{"name": "payment_method", "dataType": "VARCHAR", "dataLength": 64, "description": "Payment method used"},
|
||||
{"name": "amount", "dataType": "NUMERIC", "description": "Payment amount in dollars"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableFqn": "postgres_sample.jaffle_shop.public.customers",
|
||||
"modelType": "DBT",
|
||||
"resourceType": "model",
|
||||
"description": "This table has basic information about a customer, as well as some derived facts based on a customer's orders",
|
||||
"path": "models/customers.sql",
|
||||
"rawSql": "WITH customers AS (\n SELECT * FROM {{ ref('stg_customers') }}\n),\n\norders AS (\n SELECT * FROM {{ ref('stg_orders') }}\n),\n\npayments AS (\n SELECT * FROM {{ ref('stg_payments') }}\n),\n\ncustomer_orders AS (\n SELECT\n customer_id,\n MIN(order_date) AS first_order,\n MAX(order_date) AS most_recent_order,\n COUNT(order_id) AS number_of_orders\n FROM orders\n GROUP BY customer_id\n),\n\ncustomer_payments AS (\n SELECT\n orders.customer_id,\n SUM(amount) AS total_amount\n FROM payments\n LEFT JOIN orders ON payments.order_id = orders.order_id\n GROUP BY orders.customer_id\n),\n\nfinal AS (\n SELECT\n customers.customer_id,\n customers.first_name,\n customers.last_name,\n customer_orders.first_order,\n customer_orders.most_recent_order,\n customer_orders.number_of_orders,\n customer_payments.total_amount AS customer_lifetime_value\n FROM customers\n LEFT JOIN customer_orders ON customers.customer_id = customer_orders.customer_id\n LEFT JOIN customer_payments ON customers.customer_id = customer_payments.customer_id\n)\n\nSELECT * FROM final",
|
||||
"sql": "WITH customers AS (\n SELECT * FROM jaffle_shop.public.stg_customers\n),\n\norders AS (\n SELECT * FROM jaffle_shop.public.stg_orders\n),\n\npayments AS (\n SELECT * FROM jaffle_shop.public.stg_payments\n),\n\ncustomer_orders AS (\n SELECT\n customer_id,\n MIN(order_date) AS first_order,\n MAX(order_date) AS most_recent_order,\n COUNT(order_id) AS number_of_orders\n FROM orders\n GROUP BY customer_id\n),\n\ncustomer_payments AS (\n SELECT\n orders.customer_id,\n SUM(amount) AS total_amount\n FROM payments\n LEFT JOIN orders ON payments.order_id = orders.order_id\n GROUP BY orders.customer_id\n),\n\nfinal AS (\n SELECT\n customers.customer_id,\n customers.first_name,\n customers.last_name,\n customer_orders.first_order,\n customer_orders.most_recent_order,\n customer_orders.number_of_orders,\n customer_payments.total_amount AS customer_lifetime_value\n FROM customers\n LEFT JOIN customer_orders ON customers.customer_id = customer_orders.customer_id\n LEFT JOIN customer_payments ON customers.customer_id = customer_payments.customer_id\n)\n\nSELECT * FROM final",
|
||||
"dbtSourceProject": "jaffle_shop",
|
||||
"upstream": [
|
||||
"postgres_sample.jaffle_shop.public.stg_customers",
|
||||
"postgres_sample.jaffle_shop.public.stg_orders",
|
||||
"postgres_sample.jaffle_shop.public.stg_payments"
|
||||
],
|
||||
"columns": [
|
||||
{"name": "customer_id", "dataType": "INT", "description": "Unique identifier for a customer"},
|
||||
{"name": "first_name", "dataType": "VARCHAR", "dataLength": 256, "description": "Customer first name. PII."},
|
||||
{"name": "last_name", "dataType": "VARCHAR", "dataLength": 256, "description": "Customer last name. PII."},
|
||||
{"name": "first_order", "dataType": "DATE", "description": "Date of the customer's first order"},
|
||||
{"name": "most_recent_order", "dataType": "DATE", "description": "Date of the customer's most recent order"},
|
||||
{"name": "number_of_orders", "dataType": "INT", "description": "Total number of orders placed by the customer"},
|
||||
{"name": "customer_lifetime_value", "dataType": "NUMERIC", "description": "Total amount spent by the customer across all orders"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableFqn": "postgres_sample.jaffle_shop.public.orders",
|
||||
"modelType": "DBT",
|
||||
"resourceType": "model",
|
||||
"description": "This table has one row per order with order details and payment amounts broken down by payment method",
|
||||
"path": "models/orders.sql",
|
||||
"rawSql": "WITH orders AS (\n SELECT * FROM {{ ref('stg_orders') }}\n),\n\npayments AS (\n SELECT * FROM {{ ref('stg_payments') }}\n),\n\norder_payments AS (\n SELECT\n order_id,\n SUM(CASE WHEN payment_method = 'credit_card' THEN amount ELSE 0 END) AS credit_card_amount,\n SUM(CASE WHEN payment_method = 'coupon' THEN amount ELSE 0 END) AS coupon_amount,\n SUM(CASE WHEN payment_method = 'bank_transfer' THEN amount ELSE 0 END) AS bank_transfer_amount,\n SUM(CASE WHEN payment_method = 'gift_card' THEN amount ELSE 0 END) AS gift_card_amount,\n SUM(amount) AS total_amount\n FROM payments\n GROUP BY order_id\n),\n\nfinal AS (\n SELECT\n orders.order_id,\n orders.customer_id,\n orders.order_date,\n orders.status,\n order_payments.credit_card_amount,\n order_payments.coupon_amount,\n order_payments.bank_transfer_amount,\n order_payments.gift_card_amount,\n order_payments.total_amount AS amount\n FROM orders\n LEFT JOIN order_payments ON orders.order_id = order_payments.order_id\n)\n\nSELECT * FROM final",
|
||||
"sql": "WITH orders AS (\n SELECT * FROM jaffle_shop.public.stg_orders\n),\n\npayments AS (\n SELECT * FROM jaffle_shop.public.stg_payments\n),\n\norder_payments AS (\n SELECT\n order_id,\n SUM(CASE WHEN payment_method = 'credit_card' THEN amount ELSE 0 END) AS credit_card_amount,\n SUM(CASE WHEN payment_method = 'coupon' THEN amount ELSE 0 END) AS coupon_amount,\n SUM(CASE WHEN payment_method = 'bank_transfer' THEN amount ELSE 0 END) AS bank_transfer_amount,\n SUM(CASE WHEN payment_method = 'gift_card' THEN amount ELSE 0 END) AS gift_card_amount,\n SUM(amount) AS total_amount\n FROM payments\n GROUP BY order_id\n),\n\nfinal AS (\n SELECT\n orders.order_id,\n orders.customer_id,\n orders.order_date,\n orders.status,\n order_payments.credit_card_amount,\n order_payments.coupon_amount,\n order_payments.bank_transfer_amount,\n order_payments.gift_card_amount,\n order_payments.total_amount AS amount\n FROM orders\n LEFT JOIN order_payments ON orders.order_id = order_payments.order_id\n)\n\nSELECT * FROM final",
|
||||
"dbtSourceProject": "jaffle_shop",
|
||||
"upstream": [
|
||||
"postgres_sample.jaffle_shop.public.stg_orders",
|
||||
"postgres_sample.jaffle_shop.public.stg_payments"
|
||||
],
|
||||
"columns": [
|
||||
{"name": "order_id", "dataType": "INT", "description": "Unique identifier for an order"},
|
||||
{"name": "customer_id", "dataType": "INT", "description": "Foreign key to the customers table"},
|
||||
{"name": "order_date", "dataType": "DATE", "description": "Date the order was placed"},
|
||||
{"name": "status", "dataType": "VARCHAR", "dataLength": 64, "description": "Order status: placed, shipped, completed, return_pending, or returned"},
|
||||
{"name": "credit_card_amount", "dataType": "NUMERIC", "description": "Amount paid by credit card"},
|
||||
{"name": "coupon_amount", "dataType": "NUMERIC", "description": "Amount paid by coupon"},
|
||||
{"name": "bank_transfer_amount", "dataType": "NUMERIC", "description": "Amount paid by bank transfer"},
|
||||
{"name": "gift_card_amount", "dataType": "NUMERIC", "description": "Amount paid by gift card"},
|
||||
{"name": "amount", "dataType": "NUMERIC", "description": "Total order amount across all payment methods"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,337 @@
|
||||
{
|
||||
"tables": [
|
||||
{
|
||||
"name": "raw_customers",
|
||||
"description": "Raw customer data loaded from CSV seed file in the jaffle_shop dbt project",
|
||||
"tableType": "Regular",
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Primary key for customers",
|
||||
"ordinalPosition": 1
|
||||
},
|
||||
{
|
||||
"name": "first_name",
|
||||
"dataType": "VARCHAR",
|
||||
"dataTypeDisplay": "character varying(256)",
|
||||
"dataLength": 256,
|
||||
"description": "Customer first name",
|
||||
"ordinalPosition": 2
|
||||
},
|
||||
{
|
||||
"name": "last_name",
|
||||
"dataType": "VARCHAR",
|
||||
"dataTypeDisplay": "character varying(256)",
|
||||
"dataLength": 256,
|
||||
"description": "Customer last name",
|
||||
"ordinalPosition": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "raw_orders",
|
||||
"description": "Raw order data loaded from CSV seed file in the jaffle_shop dbt project",
|
||||
"tableType": "Regular",
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Primary key for orders",
|
||||
"ordinalPosition": 1
|
||||
},
|
||||
{
|
||||
"name": "user_id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Foreign key to customers",
|
||||
"ordinalPosition": 2
|
||||
},
|
||||
{
|
||||
"name": "order_date",
|
||||
"dataType": "DATE",
|
||||
"dataTypeDisplay": "date",
|
||||
"description": "Date the order was placed",
|
||||
"ordinalPosition": 3
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"dataType": "VARCHAR",
|
||||
"dataTypeDisplay": "character varying(64)",
|
||||
"dataLength": 64,
|
||||
"description": "Order status: placed, shipped, completed, return_pending, or returned",
|
||||
"ordinalPosition": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "raw_payments",
|
||||
"description": "Raw payment data loaded from CSV seed file in the jaffle_shop dbt project",
|
||||
"tableType": "Regular",
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Primary key for payments",
|
||||
"ordinalPosition": 1
|
||||
},
|
||||
{
|
||||
"name": "order_id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Foreign key to orders",
|
||||
"ordinalPosition": 2
|
||||
},
|
||||
{
|
||||
"name": "payment_method",
|
||||
"dataType": "VARCHAR",
|
||||
"dataTypeDisplay": "character varying(64)",
|
||||
"dataLength": 64,
|
||||
"description": "Payment method: credit_card, coupon, bank_transfer, or gift_card",
|
||||
"ordinalPosition": 3
|
||||
},
|
||||
{
|
||||
"name": "amount",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Payment amount in cents",
|
||||
"ordinalPosition": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stg_customers",
|
||||
"description": "Staged customer data with renamed columns from raw_customers",
|
||||
"tableType": "View",
|
||||
"columns": [
|
||||
{
|
||||
"name": "customer_id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Unique identifier for a customer, renamed from id",
|
||||
"ordinalPosition": 1
|
||||
},
|
||||
{
|
||||
"name": "first_name",
|
||||
"dataType": "VARCHAR",
|
||||
"dataTypeDisplay": "character varying(256)",
|
||||
"dataLength": 256,
|
||||
"description": "Customer first name",
|
||||
"ordinalPosition": 2
|
||||
},
|
||||
{
|
||||
"name": "last_name",
|
||||
"dataType": "VARCHAR",
|
||||
"dataTypeDisplay": "character varying(256)",
|
||||
"dataLength": 256,
|
||||
"description": "Customer last name",
|
||||
"ordinalPosition": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stg_orders",
|
||||
"description": "Staged order data with renamed columns from raw_orders",
|
||||
"tableType": "View",
|
||||
"columns": [
|
||||
{
|
||||
"name": "order_id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Unique identifier for an order, renamed from id",
|
||||
"ordinalPosition": 1
|
||||
},
|
||||
{
|
||||
"name": "customer_id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Foreign key to customers, renamed from user_id",
|
||||
"ordinalPosition": 2
|
||||
},
|
||||
{
|
||||
"name": "order_date",
|
||||
"dataType": "DATE",
|
||||
"dataTypeDisplay": "date",
|
||||
"description": "Date the order was placed",
|
||||
"ordinalPosition": 3
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"dataType": "VARCHAR",
|
||||
"dataTypeDisplay": "character varying(64)",
|
||||
"dataLength": 64,
|
||||
"description": "Order status",
|
||||
"ordinalPosition": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stg_payments",
|
||||
"description": "Staged payment data with renamed columns and converted amount from raw_payments",
|
||||
"tableType": "View",
|
||||
"columns": [
|
||||
{
|
||||
"name": "payment_id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Unique identifier for a payment, renamed from id",
|
||||
"ordinalPosition": 1
|
||||
},
|
||||
{
|
||||
"name": "order_id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Foreign key to orders",
|
||||
"ordinalPosition": 2
|
||||
},
|
||||
{
|
||||
"name": "payment_method",
|
||||
"dataType": "VARCHAR",
|
||||
"dataTypeDisplay": "character varying(64)",
|
||||
"dataLength": 64,
|
||||
"description": "Payment method used",
|
||||
"ordinalPosition": 3
|
||||
},
|
||||
{
|
||||
"name": "amount",
|
||||
"dataType": "NUMERIC",
|
||||
"dataTypeDisplay": "numeric(16,2)",
|
||||
"description": "Payment amount in dollars (converted from cents)",
|
||||
"ordinalPosition": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "customers",
|
||||
"description": "Customer table with basic information and derived facts based on orders",
|
||||
"tableType": "Regular",
|
||||
"columns": [
|
||||
{
|
||||
"name": "customer_id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Unique identifier for a customer",
|
||||
"ordinalPosition": 1
|
||||
},
|
||||
{
|
||||
"name": "first_name",
|
||||
"dataType": "VARCHAR",
|
||||
"dataTypeDisplay": "character varying(256)",
|
||||
"dataLength": 256,
|
||||
"description": "Customer first name",
|
||||
"ordinalPosition": 2
|
||||
},
|
||||
{
|
||||
"name": "last_name",
|
||||
"dataType": "VARCHAR",
|
||||
"dataTypeDisplay": "character varying(256)",
|
||||
"dataLength": 256,
|
||||
"description": "Customer last name",
|
||||
"ordinalPosition": 3
|
||||
},
|
||||
{
|
||||
"name": "first_order",
|
||||
"dataType": "DATE",
|
||||
"dataTypeDisplay": "date",
|
||||
"description": "Date of the customer's first order",
|
||||
"ordinalPosition": 4
|
||||
},
|
||||
{
|
||||
"name": "most_recent_order",
|
||||
"dataType": "DATE",
|
||||
"dataTypeDisplay": "date",
|
||||
"description": "Date of the customer's most recent order",
|
||||
"ordinalPosition": 5
|
||||
},
|
||||
{
|
||||
"name": "number_of_orders",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Total number of orders placed by the customer",
|
||||
"ordinalPosition": 6
|
||||
},
|
||||
{
|
||||
"name": "customer_lifetime_value",
|
||||
"dataType": "NUMERIC",
|
||||
"dataTypeDisplay": "numeric(16,2)",
|
||||
"description": "Total amount spent by the customer across all orders",
|
||||
"ordinalPosition": 7
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "orders",
|
||||
"description": "Order table with order details and payment amounts broken down by payment method",
|
||||
"tableType": "Regular",
|
||||
"columns": [
|
||||
{
|
||||
"name": "order_id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Unique identifier for an order",
|
||||
"ordinalPosition": 1
|
||||
},
|
||||
{
|
||||
"name": "customer_id",
|
||||
"dataType": "INT",
|
||||
"dataTypeDisplay": "integer",
|
||||
"description": "Foreign key to the customers table",
|
||||
"ordinalPosition": 2
|
||||
},
|
||||
{
|
||||
"name": "order_date",
|
||||
"dataType": "DATE",
|
||||
"dataTypeDisplay": "date",
|
||||
"description": "Date the order was placed",
|
||||
"ordinalPosition": 3
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"dataType": "VARCHAR",
|
||||
"dataTypeDisplay": "character varying(64)",
|
||||
"dataLength": 64,
|
||||
"description": "Order status: placed, shipped, completed, return_pending, or returned",
|
||||
"ordinalPosition": 4
|
||||
},
|
||||
{
|
||||
"name": "credit_card_amount",
|
||||
"dataType": "NUMERIC",
|
||||
"dataTypeDisplay": "numeric(16,2)",
|
||||
"description": "Amount paid by credit card",
|
||||
"ordinalPosition": 5
|
||||
},
|
||||
{
|
||||
"name": "coupon_amount",
|
||||
"dataType": "NUMERIC",
|
||||
"dataTypeDisplay": "numeric(16,2)",
|
||||
"description": "Amount paid by coupon",
|
||||
"ordinalPosition": 6
|
||||
},
|
||||
{
|
||||
"name": "bank_transfer_amount",
|
||||
"dataType": "NUMERIC",
|
||||
"dataTypeDisplay": "numeric(16,2)",
|
||||
"description": "Amount paid by bank transfer",
|
||||
"ordinalPosition": 7
|
||||
},
|
||||
{
|
||||
"name": "gift_card_amount",
|
||||
"dataType": "NUMERIC",
|
||||
"dataTypeDisplay": "numeric(16,2)",
|
||||
"description": "Amount paid by gift card",
|
||||
"ordinalPosition": 8
|
||||
},
|
||||
{
|
||||
"name": "amount",
|
||||
"dataType": "NUMERIC",
|
||||
"dataTypeDisplay": "numeric(16,2)",
|
||||
"description": "Total order amount across all payment methods",
|
||||
"ordinalPosition": 9
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user