{
  "format": "dataset-manifest/1",
  "slug": "subscription-sample-database",
  "version": 1,
  "seed": "flagship:subscription-sample-database:1k",
  "engine": 2,
  "engineVersion": "1.0.0",
  "spec": {
    "format": "dataset/1",
    "engine": 2,
    "slug": "subscription-sample-database",
    "name": "Subscription SaaS sample database",
    "tagline": "A SaaS product’s customers, monthly plans, invoices and payments, API keys and a log of their requests, and support.",
    "description": "A software-as-a-service product from 2023 to 2025: customers on eight monthly plans, their invoices and payments, the API keys they create and a log of every request made with them, plus reviews, messages, support tickets and the usual activity and audit logs. The billing holds together: an invoice bills its plan’s monthly price and falls due fourteen days later, a payment pays a plan price with a card that belongs to the subscriber, and a subscription’s current period ends thirty days after its latest invoice. An API request is made between its key’s creation and its expiry, and its status codes are mostly 2xx with the 4xx and 5xx share a real API sees. Messages are never sent to oneself, and a ticket’s responses come after it.",
    "domain": "saas",
    "shape": "event-log",
    "useCases": [
      "sql-practice",
      "analytics-demo",
      "test-fixtures"
    ],
    "keywords": [
      "saas",
      "subscriptions",
      "billing",
      "api logs",
      "sample database"
    ],
    "locale": "en_US",
    "license": "CC0-1.0",
    "version": 1,
    "seed": "flagship:subscription-sample-database",
    "tables": {
      "apikeys": {
        "description": "Rows for the apikeys table.",
        "rows": 30,
        "columns": {
          "apikey_id": {
            "kind": "pk"
          },
          "apikey_value": {
            "kind": "pattern",
            "pattern": "[sk_]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "unique": true
          },
          "created_date": {
            "kind": "date",
            "from": "2022-10-01",
            "to": "2025-12-31"
          },
          "expiration_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2026-03-31"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "apirequests": {
        "description": "Rows for the apirequests table.",
        "rows": 1000,
        "columns": {
          "request_id": {
            "kind": "pk"
          },
          "apikey_id": {
            "kind": "fk",
            "ref": "apikeys.apikey_id"
          },
          "request_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31",
            "trend": "growing"
          },
          "request_endpoint": {
            "kind": "enum",
            "values": [
              "/v1/projects",
              "/v1/projects/{id}",
              "/v1/tasks",
              "/v1/tasks/{id}",
              "/v1/users/me",
              "/v1/files",
              "/v1/webhooks",
              "/v1/reports"
            ],
            "weights": [
              22,
              18,
              20,
              15,
              10,
              7,
              3,
              5
            ]
          },
          "request_method": {
            "kind": "enum",
            "values": [
              "GET",
              "POST",
              "PATCH",
              "DELETE"
            ],
            "weights": [
              70,
              18,
              8,
              4
            ]
          },
          "response_code": {
            "kind": "int",
            "min": 0,
            "max": 500
          }
        }
      },
      "access_tokens": {
        "description": "Rows for the access_tokens table.",
        "rows": 50,
        "columns": {
          "token_id": {
            "kind": "pk"
          },
          "expiration_date": {
            "kind": "date",
            "from": "2025-01-01",
            "to": "2026-06-30"
          },
          "token_value": {
            "kind": "pattern",
            "pattern": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "unique": true
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "activity_log": {
        "description": "Rows for the activity_log table.",
        "rows": 100,
        "columns": {
          "activity_id": {
            "kind": "pk"
          },
          "activity_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31"
          },
          "activity_type": {
            "kind": "enum",
            "values": [
              "login",
              "create_project",
              "invite_member",
              "export_data",
              "update_settings"
            ],
            "weights": [
              55,
              15,
              8,
              7,
              15
            ]
          },
          "details": {
            "kind": "enum",
            "values": [
              "From the web app",
              "From the mobile app",
              "Through the API"
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "audit_logs": {
        "description": "Rows for the audit_logs table.",
        "rows": 30,
        "columns": {
          "audit_log_id": {
            "kind": "pk"
          },
          "action": {
            "kind": "enum",
            "values": [
              "plan_changed",
              "payment_method_added",
              "member_removed",
              "api_key_created",
              "password_changed"
            ]
          },
          "action_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31"
          },
          "details": {
            "kind": "enum",
            "values": [
              "Changed by the account owner",
              "Changed by an admin",
              "Changed by support"
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "billing_invoices": {
        "description": "Rows for the billing_invoices table.",
        "rows": 250,
        "columns": {
          "invoice_id": {
            "kind": "pk"
          },
          "due_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2026-01-31"
          },
          "invoice_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31",
            "trend": "growing"
          },
          "status": {
            "kind": "enum",
            "values": [
              "issued"
            ]
          },
          "total_amount": {
            "kind": "decimal",
            "min": 0,
            "max": 499,
            "scale": 2
          },
          "user_subscription_id": {
            "kind": "fk",
            "ref": "user_subscriptions.user_subscription_id",
            "skew": "flat"
          }
        }
      },
      "discounts": {
        "description": "Rows for the discounts table.",
        "rows": 8,
        "columns": {
          "discount_id": {
            "kind": "pk"
          },
          "description": {
            "kind": "enum",
            "values": [
              "New customer",
              "Switch to annual",
              "Startup programme",
              "Education",
              "Nonprofits",
              "Referral",
              "Black Friday",
              "Two years with us"
            ],
            "unique": true
          },
          "discount_amount": {
            "kind": "decimal",
            "min": 5,
            "max": 50,
            "scale": 2
          },
          "discount_code": {
            "kind": "enum",
            "values": [
              "WELCOME10",
              "ANNUAL20",
              "STARTUP30",
              "EDU50",
              "NONPROFIT40",
              "REFER15",
              "BLACKFRIDAY25",
              "LOYALTY10"
            ],
            "unique": true
          },
          "expiration_date": {
            "kind": "date",
            "from": "2026-12-31",
            "to": "2026-12-31"
          }
        }
      },
      "messages": {
        "description": "Rows for the messages table.",
        "rows": 30,
        "columns": {
          "message_id": {
            "kind": "pk"
          },
          "body": {
            "kind": "enum",
            "values": [
              "See the attached project",
              "Can you take a look?",
              "Thanks!",
              "Let us discuss tomorrow"
            ]
          },
          "receiver_id": {
            "kind": "fk",
            "ref": "users.user_id"
          },
          "sender_id": {
            "kind": "fk",
            "ref": "users.user_id"
          },
          "sent_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31"
          },
          "status": {
            "kind": "enum",
            "values": [
              "read",
              "unread"
            ],
            "weights": [
              80,
              20
            ]
          },
          "subject": {
            "kind": "enum",
            "values": [
              "Project update",
              "Quick question",
              "Invoice",
              "Welcome aboard",
              "Meeting notes"
            ]
          }
        }
      },
      "notifications": {
        "description": "Rows for the notifications table.",
        "rows": 80,
        "columns": {
          "notification_id": {
            "kind": "pk"
          },
          "message": {
            "kind": "enum",
            "values": [
              "Your invoice is ready",
              "A new feature is live",
              "New sign-in from a new device",
              "Your card expires soon"
            ]
          },
          "notification_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31"
          },
          "notification_type": {
            "kind": "enum",
            "values": [
              "billing",
              "product",
              "security"
            ],
            "weights": [
              40,
              45,
              15
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "payment_methods": {
        "description": "Rows for the payment_methods table.",
        "rows": 60,
        "columns": {
          "payment_method_id": {
            "kind": "pk"
          },
          "billing_address": {
            "kind": "location.streetAddress"
          },
          "cvv": {
            "kind": "enum",
            "values": [
              "***"
            ],
            "description": "Never stored; always masked."
          },
          "card_holder_name": {
            "kind": "person.fullName"
          },
          "card_number": {
            "kind": "pattern",
            "pattern": "[**** **** **** ]####",
            "description": "Masked; only the last four digits are kept."
          },
          "expiration_date": {
            "kind": "date",
            "from": "2026-01-01",
            "to": "2030-12-31"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "flat"
          }
        }
      },
      "payments": {
        "description": "Rows for the payments table.",
        "rows": 240,
        "columns": {
          "payment_id": {
            "kind": "pk"
          },
          "amount": {
            "kind": "decimal",
            "min": 0,
            "max": 499,
            "scale": 2
          },
          "payment_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31"
          },
          "payment_method_id": {
            "kind": "fk",
            "ref": "payment_methods.payment_method_id"
          },
          "user_subscription_id": {
            "kind": "fk",
            "ref": "user_subscriptions.user_subscription_id",
            "skew": "flat"
          }
        }
      },
      "review_comments": {
        "description": "Rows for the review_comments table.",
        "rows": 10,
        "columns": {
          "comment_id": {
            "kind": "pk"
          },
          "comment_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2026-01-31"
          },
          "comment_text": {
            "kind": "enum",
            "values": [
              "Agreed",
              "Thanks for the feedback, we are on it",
              "Same here",
              "Have you tried the new plan?"
            ]
          },
          "review_id": {
            "kind": "fk",
            "ref": "subscription_reviews.review_id",
            "skew": "flat"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "roles": {
        "description": "Rows for the roles table.",
        "rows": 4,
        "columns": {
          "role_id": {
            "kind": "pk"
          },
          "description": {
            "kind": "enum",
            "values": [
              "Owns the account",
              "Manages billing and members",
              "Uses the product",
              "Read only"
            ],
            "unique": true
          },
          "role_name": {
            "kind": "enum",
            "values": [
              "owner",
              "admin",
              "member",
              "viewer"
            ],
            "unique": true
          }
        }
      },
      "subscription_analytics": {
        "description": "Rows for the subscription_analytics table.",
        "rows": 10,
        "columns": {
          "analytics_id": {
            "kind": "pk"
          },
          "capture_date": {
            "kind": "date",
            "from": "2023-01-31",
            "to": "2025-12-31"
          },
          "metric_name": {
            "kind": "enum",
            "values": [
              "Monthly active users",
              "Churn rate",
              "Net revenue retention"
            ]
          },
          "metric_value": {
            "kind": "decimal",
            "min": 0.5,
            "max": 140,
            "scale": 2
          },
          "subscription_id": {
            "kind": "fk",
            "ref": "subscriptions.subscription_id",
            "skew": "flat"
          }
        }
      },
      "subscription_categories": {
        "description": "Rows for the subscription_categories table.",
        "rows": 6,
        "columns": {
          "category_id": {
            "kind": "pk"
          },
          "category_name": {
            "kind": "enum",
            "values": [
              "Analytics",
              "Developer",
              "Collaboration",
              "Support",
              "Security",
              "Storage"
            ],
            "unique": true
          },
          "description": {
            "kind": "enum",
            "values": [
              "Dashboards and reports",
              "API access and webhooks",
              "Seats and sharing",
              "Response times",
              "SSO and audit logs",
              "Files and retention"
            ],
            "unique": true
          }
        }
      },
      "subscription_category_mapping": {
        "description": "Rows for the subscription_category_mapping table.",
        "rows": 14,
        "columns": {
          "mapping_id": {
            "kind": "pk"
          },
          "category_id": {
            "kind": "fk",
            "ref": "subscription_categories.category_id",
            "skew": "flat"
          },
          "subscription_id": {
            "kind": "fk",
            "ref": "subscriptions.subscription_id",
            "skew": "flat"
          }
        }
      },
      "subscription_features": {
        "description": "Rows for the subscription_features table.",
        "rows": 40,
        "columns": {
          "feature_id": {
            "kind": "pk"
          },
          "feature_description": {
            "kind": "enum",
            "values": [
              "Included",
              "Included, fair use",
              "Add-on available"
            ]
          },
          "feature_name": {
            "kind": "enum",
            "values": [
              "Unlimited projects",
              "Priority support",
              "SSO",
              "Audit log",
              "API access",
              "100 GB storage",
              "Custom domains",
              "Webhooks",
              "Guest seats",
              "Data export"
            ]
          },
          "subscription_id": {
            "kind": "fk",
            "ref": "subscriptions.subscription_id",
            "skew": "flat"
          }
        }
      },
      "subscription_reviews": {
        "description": "Rows for the subscription_reviews table.",
        "rows": 10,
        "columns": {
          "review_id": {
            "kind": "pk"
          },
          "rating": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "distribution": "high"
          },
          "review_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31"
          },
          "review_text": {
            "kind": "enum",
            "values": [
              "Worth every penny",
              "Great support",
              "Too expensive for what it does",
              "Easy to set up",
              "Missing integrations"
            ]
          },
          "subscription_id": {
            "kind": "fk",
            "ref": "subscriptions.subscription_id"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "subscriptions": {
        "description": "Rows for the subscriptions table.",
        "rows": 8,
        "columns": {
          "subscription_id": {
            "kind": "pk"
          },
          "description": {
            "kind": "enum",
            "values": [
              "For individuals",
              "More projects and storage",
              "For professionals",
              "For small teams",
              "For growing companies",
              "Custom limits and support",
              "For students and teachers",
              "For registered charities"
            ],
            "unique": true
          },
          "interval": {
            "kind": "enum",
            "values": [
              "month"
            ]
          },
          "price": {
            "kind": "decimal",
            "min": 5,
            "max": 499,
            "scale": 2
          },
          "subscription_name": {
            "kind": "enum",
            "values": [
              "Starter",
              "Plus",
              "Pro",
              "Team",
              "Business",
              "Enterprise",
              "Education",
              "Nonprofit"
            ],
            "unique": true
          }
        }
      },
      "support_tickets": {
        "description": "Rows for the support_tickets table.",
        "rows": 10,
        "columns": {
          "ticket_id": {
            "kind": "pk"
          },
          "created_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31"
          },
          "description": {
            "kind": "enum",
            "values": [
              "Opened from the help widget",
              "Sent by email",
              "Raised in chat"
            ]
          },
          "status": {
            "kind": "enum",
            "values": [
              "resolved",
              "closed",
              "open"
            ],
            "weights": [
              70,
              25,
              5
            ]
          },
          "subject": {
            "kind": "enum",
            "values": [
              "Billing question",
              "Cannot sign in",
              "API returns 429",
              "Feature request",
              "Cancel my plan"
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "system_logs": {
        "description": "Rows for the system_logs table.",
        "rows": 30,
        "columns": {
          "log_id": {
            "kind": "pk"
          },
          "log_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31"
          },
          "log_level": {
            "kind": "enum",
            "values": [
              "INFO",
              "WARN",
              "ERROR"
            ],
            "weights": [
              80,
              15,
              5
            ]
          },
          "log_message": {
            "kind": "enum",
            "values": [
              "Session started",
              "Rate limit approached",
              "Webhook delivery retried",
              "Export finished",
              "Payment declined"
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "ticket_responses": {
        "description": "Rows for the ticket_responses table.",
        "rows": 20,
        "columns": {
          "response_id": {
            "kind": "pk"
          },
          "message": {
            "kind": "enum",
            "values": [
              "Thanks, looking into it",
              "This is fixed now",
              "Could you share a screenshot?",
              "Your plan has been changed"
            ]
          },
          "responder_id": {
            "kind": "fk",
            "ref": "users.user_id"
          },
          "response_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2026-01-31"
          },
          "ticket_id": {
            "kind": "fk",
            "ref": "support_tickets.ticket_id",
            "skew": "flat"
          }
        }
      },
      "user_addresses": {
        "description": "Rows for the user_addresses table.",
        "rows": 50,
        "columns": {
          "address_id": {
            "kind": "pk"
          },
          "address_line1": {
            "kind": "location.streetAddress"
          },
          "address_line2": {
            "kind": "location.secondaryAddress",
            "nullable": true,
            "nullRate": 0.7
          },
          "city": {
            "kind": "place.city"
          },
          "country": {
            "kind": "enum",
            "values": [
              "United States"
            ]
          },
          "state": {
            "kind": "place.regionCode"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "unique": true
          },
          "zip_code": {
            "kind": "place.postcode"
          }
        }
      },
      "user_discounts": {
        "description": "Rows for the user_discounts table.",
        "rows": 15,
        "columns": {
          "user_discount_id": {
            "kind": "pk"
          },
          "applied_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31"
          },
          "discount_id": {
            "kind": "fk",
            "ref": "discounts.discount_id"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "user_feedback": {
        "description": "Rows for the user_feedback table.",
        "rows": 10,
        "columns": {
          "feedback_id": {
            "kind": "pk"
          },
          "feedback_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2025-12-31"
          },
          "feedback_text": {
            "kind": "enum",
            "values": [
              "Export fails on large projects",
              "Please add dark mode",
              "Love the new dashboard",
              "Search is slow"
            ]
          },
          "feedback_type": {
            "kind": "enum",
            "values": [
              "bug",
              "feature request",
              "praise"
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "user_preferences": {
        "description": "Rows for the user_preferences table.",
        "rows": 80,
        "columns": {
          "preference_id": {
            "kind": "pk"
          },
          "preference_key": {
            "kind": "enum",
            "values": [
              "theme",
              "language",
              "email_digest"
            ]
          },
          "preference_value": {
            "kind": "enum",
            "values": [
              "dark",
              "light",
              "en",
              "weekly",
              "daily",
              "off"
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "flat"
          }
        }
      },
      "user_profiles": {
        "description": "Rows for the user_profiles table.",
        "rows": 50,
        "columns": {
          "profile_id": {
            "kind": "pk"
          },
          "birth_date": {
            "kind": "date",
            "from": "1960-01-01",
            "to": "2005-12-31"
          },
          "first_name": {
            "kind": "person.firstName"
          },
          "gender": {
            "kind": "enum",
            "values": [
              "female",
              "male",
              "non-binary",
              "prefer not to say"
            ],
            "weights": [
              44,
              46,
              3,
              7
            ]
          },
          "last_name": {
            "kind": "person.lastName"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "unique": true
          }
        }
      },
      "user_roles": {
        "description": "Rows for the user_roles table.",
        "rows": 50,
        "columns": {
          "user_role_id": {
            "kind": "pk"
          },
          "role_id": {
            "kind": "fk",
            "ref": "roles.role_id",
            "weights": [
              30,
              15,
              45,
              10
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "unique": true
          }
        }
      },
      "user_subscriptions": {
        "description": "Rows for the user_subscriptions table.",
        "rows": 60,
        "columns": {
          "user_subscription_id": {
            "kind": "pk"
          },
          "end_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2026-01-31"
          },
          "start_date": {
            "kind": "date",
            "from": "2022-06-01",
            "to": "2025-12-31"
          },
          "status": {
            "kind": "enum",
            "values": [
              "active",
              "cancelled"
            ]
          },
          "subscription_id": {
            "kind": "fk",
            "ref": "subscriptions.subscription_id",
            "weights": [
              22,
              18,
              24,
              12,
              6,
              2,
              8,
              8
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id"
          }
        }
      },
      "users": {
        "description": "Rows for the users table.",
        "rows": 50,
        "columns": {
          "user_id": {
            "kind": "pk"
          },
          "email": {
            "kind": "internet.email",
            "unique": true
          },
          "password_hash": {
            "kind": "pattern",
            "pattern": "[$2b$12$]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
          },
          "registration_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2025-10-31"
          },
          "user_name": {
            "kind": "internet.username",
            "unique": true
          }
        }
      }
    }
  },
  "counts": {
    "discounts": 8,
    "roles": 4,
    "subscription_categories": 6,
    "subscriptions": 8,
    "subscription_analytics": 10,
    "subscription_category_mapping": 14,
    "subscription_features": 40,
    "users": 50,
    "access_tokens": 50,
    "activity_log": 100,
    "apikeys": 30,
    "apirequests": 1000,
    "audit_logs": 30,
    "messages": 30,
    "notifications": 80,
    "payment_methods": 60,
    "subscription_reviews": 10,
    "review_comments": 10,
    "support_tickets": 10,
    "system_logs": 30,
    "ticket_responses": 20,
    "user_addresses": 50,
    "user_discounts": 15,
    "user_feedback": 10,
    "user_preferences": 80,
    "user_profiles": 50,
    "user_roles": 50,
    "user_subscriptions": 60,
    "billing_invoices": 250,
    "payments": 240
  },
  "artifacts": [
    {
      "file": "csv/discounts.csv",
      "format": "csv",
      "table": "discounts",
      "key": "datasets/subscription-sample-database/v1/csv/discounts.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/discounts.csv",
      "bytes": 395,
      "sha256": "273bb4c837efaface70bd0fc079fdf24b6bbc09c4c91af908c0aa9101fcfc5f5",
      "rows": 8,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/roles.csv",
      "format": "csv",
      "table": "roles",
      "key": "datasets/subscription-sample-database/v1/csv/roles.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/roles.csv",
      "bytes": 141,
      "sha256": "009510625add39652263852594b9eef3a168d28facc844aaf2d419764f0f2315",
      "rows": 4,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/subscription_categories.csv",
      "format": "csv",
      "table": "subscription_categories",
      "key": "datasets/subscription-sample-database/v1/csv/subscription_categories.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/subscription_categories.csv",
      "bytes": 235,
      "sha256": "dcd042256ad13679445827f7f386e3a0e2780839fd40c428309b9f01aa934fb7",
      "rows": 6,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/subscriptions.csv",
      "format": "csv",
      "table": "subscriptions",
      "key": "datasets/subscription-sample-database/v1/csv/subscriptions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/subscriptions.csv",
      "bytes": 395,
      "sha256": "00752912f1f5711443e3642db2c43772f622b27a8241aff9ca69f0b582f08f43",
      "rows": 8,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/subscription_analytics.csv",
      "format": "csv",
      "table": "subscription_analytics",
      "key": "datasets/subscription-sample-database/v1/csv/subscription_analytics.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/subscription_analytics.csv",
      "bytes": 473,
      "sha256": "ac2a03f9b21aa09e8c733c90e41b42918d219fa4c144c85f42d340fb1fea0277",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/subscription_category_mapping.csv",
      "format": "csv",
      "table": "subscription_category_mapping",
      "key": "datasets/subscription-sample-database/v1/csv/subscription_category_mapping.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/subscription_category_mapping.csv",
      "bytes": 143,
      "sha256": "253a039d1992b87177b79539a1ae7ab3086eece421d54ad0c2fdcf908dd57493",
      "rows": 14,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/subscription_features.csv",
      "format": "csv",
      "table": "subscription_features",
      "key": "datasets/subscription-sample-database/v1/csv/subscription_features.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/subscription_features.csv",
      "bytes": 1367,
      "sha256": "d88d014d9c95541f7822dadcddd3f6d55f1acb81974b12c1fbafe7cc05762b5d",
      "rows": 40,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/subscription-sample-database/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/users.csv",
      "bytes": 5934,
      "sha256": "1acae55b1aa4fdf2c57376d176fce1f09ec47f5b91be4e582bc8760e64e50d83",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/access_tokens.csv",
      "format": "csv",
      "table": "access_tokens",
      "key": "datasets/subscription-sample-database/v1/csv/access_tokens.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/access_tokens.csv",
      "bytes": 2975,
      "sha256": "d7aaebfbdd130619a9169f79db658cb836cdf356c00bafb847f08d0d0d485d83",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/activity_log.csv",
      "format": "csv",
      "table": "activity_log",
      "key": "datasets/subscription-sample-database/v1/csv/activity_log.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/activity_log.csv",
      "bytes": 4542,
      "sha256": "161482028554f0689399563d867b043044680efae69b8e9ea580d5cc91bbc40b",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/apikeys.csv",
      "format": "csv",
      "table": "apikeys",
      "key": "datasets/subscription-sample-database/v1/csv/apikeys.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/apikeys.csv",
      "bytes": 1996,
      "sha256": "9fb7c777e5265bb21d201ed590081912226c952cda5a0142de168f9dcf204efc",
      "rows": 30,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/apirequests.csv",
      "format": "csv",
      "table": "apirequests",
      "key": "datasets/subscription-sample-database/v1/csv/apirequests.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/apirequests.csv",
      "bytes": 40611,
      "sha256": "1fba42f5ebfd30d4c36ddee0b7452bb2fe31b2ff2343e718f8021994567c04b4",
      "rows": 1000,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/audit_logs.csv",
      "format": "csv",
      "table": "audit_logs",
      "key": "datasets/subscription-sample-database/v1/csv/audit_logs.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/audit_logs.csv",
      "bytes": 1742,
      "sha256": "1a0639f6e01d6be7413613e51e1fea3462c73ae2801ff5f73a37c0a682221877",
      "rows": 30,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/messages.csv",
      "format": "csv",
      "table": "messages",
      "key": "datasets/subscription-sample-database/v1/csv/messages.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/messages.csv",
      "bytes": 1814,
      "sha256": "4e4454c9289135127f696bb3cfe8bafb9565207603c68d0e725f6c813ab367e3",
      "rows": 30,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/notifications.csv",
      "format": "csv",
      "table": "notifications",
      "key": "datasets/subscription-sample-database/v1/csv/notifications.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/notifications.csv",
      "bytes": 4098,
      "sha256": "bfd0a0c45dfca71190bf8446f1b2cca227d019a389b601dba8f3afb33d308b23",
      "rows": 80,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/payment_methods.csv",
      "format": "csv",
      "table": "payment_methods",
      "key": "datasets/subscription-sample-database/v1/csv/payment_methods.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/payment_methods.csv",
      "bytes": 4704,
      "sha256": "8d78c1968b5efd6351e9c4999179c21d1971bf9dc10a3a7d3f275e5d94940351",
      "rows": 60,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/subscription_reviews.csv",
      "format": "csv",
      "table": "subscription_reviews",
      "key": "datasets/subscription-sample-database/v1/csv/subscription_reviews.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/subscription_reviews.csv",
      "bytes": 436,
      "sha256": "9b261b2b9e159e3817570dca9c48fe6c5e7012816118731748cfd36f5b9ce4ee",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/review_comments.csv",
      "format": "csv",
      "table": "review_comments",
      "key": "datasets/subscription-sample-database/v1/csv/review_comments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/review_comments.csv",
      "bytes": 534,
      "sha256": "23c62d6d6baf1dd5c2babb06436600656189b495e3e70fe78104894d015a0585",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/support_tickets.csv",
      "format": "csv",
      "table": "support_tickets",
      "key": "datasets/subscription-sample-database/v1/csv/support_tickets.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/support_tickets.csv",
      "bytes": 710,
      "sha256": "54967efb8df1ef044022b5496f71f7c81378a9c4fd04dd6b9ceee273bf26bce4",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/system_logs.csv",
      "format": "csv",
      "table": "system_logs",
      "key": "datasets/subscription-sample-database/v1/csv/system_logs.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/system_logs.csv",
      "bytes": 1277,
      "sha256": "a5f7174f1cc9948e3dea42fac44212af97faedc198a93056110f3451a765bed0",
      "rows": 30,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/ticket_responses.csv",
      "format": "csv",
      "table": "ticket_responses",
      "key": "datasets/subscription-sample-database/v1/csv/ticket_responses.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/ticket_responses.csv",
      "bytes": 979,
      "sha256": "5dc1288d2c7121667db21181e491076b4286195dc8fe4e737e1fb7c418d4f576",
      "rows": 20,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_addresses.csv",
      "format": "csv",
      "table": "user_addresses",
      "key": "datasets/subscription-sample-database/v1/csv/user_addresses.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/user_addresses.csv",
      "bytes": 3208,
      "sha256": "e14faa0a12b59a7bfc3d2c42176c6d7d759b164fe2ebffc61d18e73f7018d559",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_discounts.csv",
      "format": "csv",
      "table": "user_discounts",
      "key": "datasets/subscription-sample-database/v1/csv/user_discounts.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/user_discounts.csv",
      "bytes": 341,
      "sha256": "0ce414ebf0f443d241418db4447bf218ca57b7d6ac35316784e43d58d3783dff",
      "rows": 15,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_feedback.csv",
      "format": "csv",
      "table": "user_feedback",
      "key": "datasets/subscription-sample-database/v1/csv/user_feedback.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/user_feedback.csv",
      "bytes": 568,
      "sha256": "b1108dbf296ccbeb72358a69fee52f70abe171669496c51ca53b3813ba1b4975",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_preferences.csv",
      "format": "csv",
      "table": "user_preferences",
      "key": "datasets/subscription-sample-database/v1/csv/user_preferences.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/user_preferences.csv",
      "bytes": 1741,
      "sha256": "bfea3e0afd75c76ccdccb4de054978800c87f930b033100ec0b15f10fc08e53b",
      "rows": 80,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_profiles.csv",
      "format": "csv",
      "table": "user_profiles",
      "key": "datasets/subscription-sample-database/v1/csv/user_profiles.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/user_profiles.csv",
      "bytes": 2003,
      "sha256": "b3f414e7e20ae1dc14158fd69e0fe0102c45e53f81f37ad31b43c54b32bff450",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_roles.csv",
      "format": "csv",
      "table": "user_roles",
      "key": "datasets/subscription-sample-database/v1/csv/user_roles.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/user_roles.csv",
      "bytes": 462,
      "sha256": "c52c8380a7157b8d9faed5cf248a6f31e7d2f3a824a6300c10077aa4ffedcd03",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_subscriptions.csv",
      "format": "csv",
      "table": "user_subscriptions",
      "key": "datasets/subscription-sample-database/v1/csv/user_subscriptions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/user_subscriptions.csv",
      "bytes": 2441,
      "sha256": "84dceca8784160fea76778ae9c1b59a607379862bc053a54d4416e73b3ca38a5",
      "rows": 60,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/billing_invoices.csv",
      "format": "csv",
      "table": "billing_invoices",
      "key": "datasets/subscription-sample-database/v1/csv/billing_invoices.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/billing_invoices.csv",
      "bytes": 9864,
      "sha256": "25e0f3599136ecbb291d81554a57edc554fa5424c9cb89095e525ee3f6fcf0e4",
      "rows": 250,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/payments.csv",
      "format": "csv",
      "table": "payments",
      "key": "datasets/subscription-sample-database/v1/csv/payments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/csv/payments.csv",
      "bytes": 5854,
      "sha256": "6019ed45d95c0f4cb4d20dd7496c08a523f90778496b62ef7af4aa4194534f8c",
      "rows": 240,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "subscription-sample-database.json",
      "format": "json",
      "table": null,
      "key": "datasets/subscription-sample-database/v1/subscription-sample-database.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/subscription-sample-database.json",
      "bytes": 444242,
      "sha256": "0b10ea42dba4173571a671ce48a630f50ae92dba17c0286651e0916ba25dc31b",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/subscription-sample-database/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/sql/postgres.sql",
      "bytes": 159863,
      "sha256": "c015f50081d334bbf1c6e46463869b6278f9ca4a76b9126118b5cf3ec9ced5d7",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/subscription-sample-database/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/sql/mysql.sql",
      "bytes": 156303,
      "sha256": "00fc40b69c2b2a568979584d0b57962cb932de23766410ca8a2dcdf8726b2180",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/subscription-sample-database/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/sql/mssql.sql",
      "bytes": 164523,
      "sha256": "918cac1aa988ae3441e757c737f41fe308798a3995f8814c0ab4bb751af6dbb1",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/subscription-sample-database/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/sql/sqlite.sql",
      "bytes": 153704,
      "sha256": "0a40165663b4ca6c5bbc1d1015c67849e59c7ec8857f7acd51ba17322b5bfb77",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/subscription-sample-database/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/prisma/seed.ts",
      "bytes": 349041,
      "sha256": "c633a302339f306d7883725c165e00eb803f2cfe73285be50fe99af602fad3b8",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/subscription-sample-database/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/django/fixtures.json",
      "bytes": 529101,
      "sha256": "33a7b592b01040d246f29bc89744022d3651bcfd8105ad9076f8de82d77328b0",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "flagship": {
    "sizes": {
      "1k": {
        "rows": 2405,
        "counts": {
          "discounts": 8,
          "roles": 4,
          "subscription_categories": 6,
          "subscriptions": 8,
          "subscription_analytics": 10,
          "subscription_category_mapping": 14,
          "subscription_features": 40,
          "users": 50,
          "access_tokens": 50,
          "activity_log": 100,
          "apikeys": 30,
          "apirequests": 1000,
          "audit_logs": 30,
          "messages": 30,
          "notifications": 80,
          "payment_methods": 60,
          "subscription_reviews": 10,
          "review_comments": 10,
          "support_tickets": 10,
          "system_logs": 30,
          "ticket_responses": 20,
          "user_addresses": 50,
          "user_discounts": 15,
          "user_feedback": 10,
          "user_preferences": 80,
          "user_profiles": 50,
          "user_roles": 50,
          "user_subscriptions": 60,
          "billing_invoices": 250,
          "payments": 240
        },
        "notes": [],
        "downloads": [
          {
            "format": "sql-postgres",
            "label": "PostgreSQL",
            "file": "flagship/1k/postgres.sql.gz",
            "key": "datasets/subscription-sample-database/v1/flagship/1k/postgres.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/1k/postgres.sql.gz",
            "bytes": 35758,
            "sha256": "14c5fbda654e4362561598775e17445c1315d656a521eeca003db98fdfa5482e",
            "raw": {
              "bytes": 165927,
              "sha256": "fc618e3a7fbbe523a02f2745cdee73db4d56c1946d982f4246cf5189af290782"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-mysql",
            "label": "MySQL",
            "file": "flagship/1k/mysql.sql.gz",
            "key": "datasets/subscription-sample-database/v1/flagship/1k/mysql.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/1k/mysql.sql.gz",
            "bytes": 35032,
            "sha256": "4145e6745310fc4ee70b0cbeea516868c394df939c9754f43f7affb65b29c8a7",
            "raw": {
              "bytes": 162367,
              "sha256": "2cb4c6500501f744954d6b9caeb368f358b2842239c6bce77012220dbb1124b3"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-sqlite",
            "label": "SQLite",
            "file": "flagship/1k/sqlite.sql.gz",
            "key": "datasets/subscription-sample-database/v1/flagship/1k/sqlite.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/1k/sqlite.sql.gz",
            "bytes": 34492,
            "sha256": "6b70ea9d39219b437a1f9605b8b2c134dd60d09cbc8fa4f3ead64e0c9d5561a8",
            "raw": {
              "bytes": 159768,
              "sha256": "a47da2eb485cd7beac286e81842bcfd67fc34dc95224127ae7099b3ff448618c"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "csv",
            "label": "CSV",
            "file": "flagship/1k/csv.zip",
            "key": "datasets/subscription-sample-database/v1/flagship/1k/csv.zip",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/1k/csv.zip",
            "bytes": 36178,
            "sha256": "5d7039fa07fa54a68d6c95a8896c16d45c371111e95abe36f2f40a88e50e58fd",
            "tables": {
              "apikeys": {
                "bytes": 1996,
                "sha256": "9fb7c777e5265bb21d201ed590081912226c952cda5a0142de168f9dcf204efc"
              },
              "apirequests": {
                "bytes": 40611,
                "sha256": "1fba42f5ebfd30d4c36ddee0b7452bb2fe31b2ff2343e718f8021994567c04b4"
              },
              "access_tokens": {
                "bytes": 2975,
                "sha256": "d7aaebfbdd130619a9169f79db658cb836cdf356c00bafb847f08d0d0d485d83"
              },
              "activity_log": {
                "bytes": 4542,
                "sha256": "161482028554f0689399563d867b043044680efae69b8e9ea580d5cc91bbc40b"
              },
              "audit_logs": {
                "bytes": 1742,
                "sha256": "1a0639f6e01d6be7413613e51e1fea3462c73ae2801ff5f73a37c0a682221877"
              },
              "billing_invoices": {
                "bytes": 9864,
                "sha256": "25e0f3599136ecbb291d81554a57edc554fa5424c9cb89095e525ee3f6fcf0e4"
              },
              "discounts": {
                "bytes": 395,
                "sha256": "273bb4c837efaface70bd0fc079fdf24b6bbc09c4c91af908c0aa9101fcfc5f5"
              },
              "messages": {
                "bytes": 1814,
                "sha256": "4e4454c9289135127f696bb3cfe8bafb9565207603c68d0e725f6c813ab367e3"
              },
              "notifications": {
                "bytes": 4098,
                "sha256": "bfd0a0c45dfca71190bf8446f1b2cca227d019a389b601dba8f3afb33d308b23"
              },
              "payment_methods": {
                "bytes": 4704,
                "sha256": "8d78c1968b5efd6351e9c4999179c21d1971bf9dc10a3a7d3f275e5d94940351"
              },
              "payments": {
                "bytes": 5854,
                "sha256": "6019ed45d95c0f4cb4d20dd7496c08a523f90778496b62ef7af4aa4194534f8c"
              },
              "review_comments": {
                "bytes": 534,
                "sha256": "23c62d6d6baf1dd5c2babb06436600656189b495e3e70fe78104894d015a0585"
              },
              "roles": {
                "bytes": 141,
                "sha256": "009510625add39652263852594b9eef3a168d28facc844aaf2d419764f0f2315"
              },
              "subscription_analytics": {
                "bytes": 473,
                "sha256": "ac2a03f9b21aa09e8c733c90e41b42918d219fa4c144c85f42d340fb1fea0277"
              },
              "subscription_categories": {
                "bytes": 235,
                "sha256": "dcd042256ad13679445827f7f386e3a0e2780839fd40c428309b9f01aa934fb7"
              },
              "subscription_category_mapping": {
                "bytes": 143,
                "sha256": "253a039d1992b87177b79539a1ae7ab3086eece421d54ad0c2fdcf908dd57493"
              },
              "subscription_features": {
                "bytes": 1367,
                "sha256": "d88d014d9c95541f7822dadcddd3f6d55f1acb81974b12c1fbafe7cc05762b5d"
              },
              "subscription_reviews": {
                "bytes": 436,
                "sha256": "9b261b2b9e159e3817570dca9c48fe6c5e7012816118731748cfd36f5b9ce4ee"
              },
              "subscriptions": {
                "bytes": 395,
                "sha256": "00752912f1f5711443e3642db2c43772f622b27a8241aff9ca69f0b582f08f43"
              },
              "support_tickets": {
                "bytes": 710,
                "sha256": "54967efb8df1ef044022b5496f71f7c81378a9c4fd04dd6b9ceee273bf26bce4"
              },
              "system_logs": {
                "bytes": 1277,
                "sha256": "a5f7174f1cc9948e3dea42fac44212af97faedc198a93056110f3451a765bed0"
              },
              "ticket_responses": {
                "bytes": 979,
                "sha256": "5dc1288d2c7121667db21181e491076b4286195dc8fe4e737e1fb7c418d4f576"
              },
              "user_addresses": {
                "bytes": 3208,
                "sha256": "e14faa0a12b59a7bfc3d2c42176c6d7d759b164fe2ebffc61d18e73f7018d559"
              },
              "user_discounts": {
                "bytes": 341,
                "sha256": "0ce414ebf0f443d241418db4447bf218ca57b7d6ac35316784e43d58d3783dff"
              },
              "user_feedback": {
                "bytes": 568,
                "sha256": "b1108dbf296ccbeb72358a69fee52f70abe171669496c51ca53b3813ba1b4975"
              },
              "user_preferences": {
                "bytes": 1741,
                "sha256": "bfea3e0afd75c76ccdccb4de054978800c87f930b033100ec0b15f10fc08e53b"
              },
              "user_profiles": {
                "bytes": 2003,
                "sha256": "b3f414e7e20ae1dc14158fd69e0fe0102c45e53f81f37ad31b43c54b32bff450"
              },
              "user_roles": {
                "bytes": 462,
                "sha256": "c52c8380a7157b8d9faed5cf248a6f31e7d2f3a824a6300c10077aa4ffedcd03"
              },
              "user_subscriptions": {
                "bytes": 2441,
                "sha256": "84dceca8784160fea76778ae9c1b59a607379862bc053a54d4416e73b3ca38a5"
              },
              "users": {
                "bytes": 5934,
                "sha256": "1acae55b1aa4fdf2c57376d176fce1f09ec47f5b91be4e582bc8760e64e50d83"
              }
            },
            "contentType": "application/zip"
          }
        ],
        "checks": {
          "postgres": {
            "version": "18.3",
            "ok": true
          },
          "sqlite": {
            "version": "3.53.1",
            "ok": true
          },
          "notRun": [
            {
              "engine": "MySQL",
              "note": "Written from the same rows; not loaded here, no MySQL server runs in the build."
            }
          ]
        },
        "rules": [
          {
            "name": "An invoice bills its plan's monthly price and falls due fourteen days later",
            "violations": 0
          },
          {
            "name": "A subscription starts up to twenty days before its first invoice, its period ends thirty days after its latest, and it is cancelled exactly when that ran out before December 2025",
            "violations": 0
          },
          {
            "name": "A payment pays its plan's price with a card that belongs to the subscriber, after the subscription began",
            "violations": 0
          },
          {
            "name": "A customer signs up before their first subscription starts, at most six months before",
            "violations": 0
          },
          {
            "name": "An API request is made between its key's creation and its expiry",
            "violations": 0
          },
          {
            "name": "Every request has a real HTTP status code, and no one messages themselves",
            "violations": 0
          },
          {
            "name": "A ticket's responses and a review's comments come after them, and a discount is applied after its customer signed up",
            "violations": 0
          }
        ],
        "dirty": {
          "report": {
            "rates": {
              "missing": 0.03,
              "typos": 0.03,
              "outliers": 0.005,
              "duplicates": 0.01
            },
            "tables": {
              "discounts": {
                "duplicates": 0,
                "columns": {
                  "discount_amount": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "discount_code": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "roles": {
                "duplicates": 0,
                "columns": {
                  "description": {
                    "missing": 0,
                    "typos": 2,
                    "outliers": 0
                  }
                }
              },
              "subscription_categories": {
                "duplicates": 0,
                "columns": {
                  "category_name": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "subscriptions": {
                "duplicates": 0,
                "columns": {
                  "interval": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "subscription_name": {
                    "missing": 0,
                    "typos": 2,
                    "outliers": 0
                  }
                }
              },
              "subscription_analytics": {
                "duplicates": 0,
                "columns": {
                  "metric_name": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "subscription_features": {
                "duplicates": 0,
                "columns": {
                  "feature_description": {
                    "missing": 3,
                    "typos": 3,
                    "outliers": 0
                  },
                  "feature_name": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "users": {
                "duplicates": 0,
                "columns": {
                  "email": {
                    "missing": 2,
                    "typos": 1,
                    "outliers": 0
                  },
                  "password_hash": {
                    "missing": 1,
                    "typos": 1,
                    "outliers": 0
                  },
                  "registration_date": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "access_tokens": {
                "duplicates": 0,
                "columns": {
                  "expiration_date": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  },
                  "token_value": {
                    "missing": 2,
                    "typos": 2,
                    "outliers": 0
                  }
                }
              },
              "activity_log": {
                "duplicates": 2,
                "columns": {
                  "activity_date": {
                    "missing": 3,
                    "typos": 0,
                    "outliers": 0
                  },
                  "activity_type": {
                    "missing": 4,
                    "typos": 4,
                    "outliers": 0
                  },
                  "details": {
                    "missing": 3,
                    "typos": 2,
                    "outliers": 0
                  }
                }
              },
              "apikeys": {
                "duplicates": 0,
                "columns": {
                  "apikey_value": {
                    "missing": 0,
                    "typos": 2,
                    "outliers": 0
                  },
                  "created_date": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "apirequests": {
                "duplicates": 11,
                "columns": {
                  "request_date": {
                    "missing": 24,
                    "typos": 0,
                    "outliers": 0
                  },
                  "request_endpoint": {
                    "missing": 19,
                    "typos": 30,
                    "outliers": 0
                  },
                  "request_method": {
                    "missing": 28,
                    "typos": 22,
                    "outliers": 0
                  },
                  "response_code": {
                    "missing": 26,
                    "typos": 0,
                    "outliers": 1
                  }
                }
              },
              "audit_logs": {
                "duplicates": 0,
                "columns": {
                  "action": {
                    "missing": 3,
                    "typos": 2,
                    "outliers": 0
                  },
                  "action_date": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "details": {
                    "missing": 1,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "messages": {
                "duplicates": 0,
                "columns": {
                  "body": {
                    "missing": 2,
                    "typos": 1,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "subject": {
                    "missing": 3,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "notifications": {
                "duplicates": 0,
                "columns": {
                  "message": {
                    "missing": 4,
                    "typos": 3,
                    "outliers": 0
                  },
                  "notification_date": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  },
                  "notification_type": {
                    "missing": 2,
                    "typos": 3,
                    "outliers": 0
                  }
                }
              },
              "payment_methods": {
                "duplicates": 0,
                "columns": {
                  "billing_address": {
                    "missing": 1,
                    "typos": 2,
                    "outliers": 0
                  },
                  "cvv": {
                    "missing": 1,
                    "typos": 1,
                    "outliers": 0
                  },
                  "card_holder_name": {
                    "missing": 1,
                    "typos": 1,
                    "outliers": 0
                  },
                  "card_number": {
                    "missing": 2,
                    "typos": 1,
                    "outliers": 0
                  },
                  "expiration_date": {
                    "missing": 3,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "subscription_reviews": {
                "duplicates": 0,
                "columns": {
                  "rating": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "review_date": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "review_text": {
                    "missing": 0,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "review_comments": {
                "duplicates": 0,
                "columns": {
                  "comment_date": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  },
                  "comment_text": {
                    "missing": 1,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "system_logs": {
                "duplicates": 0,
                "columns": {
                  "log_level": {
                    "missing": 1,
                    "typos": 3,
                    "outliers": 0
                  }
                }
              },
              "ticket_responses": {
                "duplicates": 0,
                "columns": {
                  "message": {
                    "missing": 0,
                    "typos": 2,
                    "outliers": 0
                  },
                  "response_date": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "user_addresses": {
                "duplicates": 1,
                "columns": {
                  "address_line1": {
                    "missing": 3,
                    "typos": 2,
                    "outliers": 0
                  },
                  "country": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  },
                  "state": {
                    "missing": 3,
                    "typos": 1,
                    "outliers": 0
                  },
                  "zip_code": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "user_feedback": {
                "duplicates": 0,
                "columns": {
                  "feedback_type": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "user_preferences": {
                "duplicates": 1,
                "columns": {
                  "preference_key": {
                    "missing": 6,
                    "typos": 1,
                    "outliers": 0
                  },
                  "preference_value": {
                    "missing": 3,
                    "typos": 2,
                    "outliers": 0
                  }
                }
              },
              "user_profiles": {
                "duplicates": 0,
                "columns": {
                  "birth_date": {
                    "missing": 3,
                    "typos": 0,
                    "outliers": 0
                  },
                  "first_name": {
                    "missing": 2,
                    "typos": 0,
                    "outliers": 0
                  },
                  "gender": {
                    "missing": 2,
                    "typos": 1,
                    "outliers": 0
                  },
                  "last_name": {
                    "missing": 0,
                    "typos": 2,
                    "outliers": 0
                  }
                }
              },
              "user_subscriptions": {
                "duplicates": 0,
                "columns": {
                  "end_date": {
                    "missing": 4,
                    "typos": 0,
                    "outliers": 0
                  },
                  "start_date": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 1,
                    "typos": 1,
                    "outliers": 0
                  }
                }
              },
              "billing_invoices": {
                "duplicates": 2,
                "columns": {
                  "due_date": {
                    "missing": 6,
                    "typos": 0,
                    "outliers": 0
                  },
                  "invoice_date": {
                    "missing": 9,
                    "typos": 0,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 6,
                    "typos": 11,
                    "outliers": 0
                  },
                  "total_amount": {
                    "missing": 10,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "payments": {
                "duplicates": 3,
                "columns": {
                  "amount": {
                    "missing": 10,
                    "typos": 0,
                    "outliers": 0
                  },
                  "payment_date": {
                    "missing": 4,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              }
            },
            "totals": {
              "missing": 236,
              "typos": 117,
              "outliers": 1,
              "duplicates": 20
            }
          },
          "downloads": [
            {
              "format": "dirty-sql-postgres",
              "label": "PostgreSQL, with faults",
              "file": "flagship/1k/dirty-postgres.sql.gz",
              "key": "datasets/subscription-sample-database/v1/flagship/1k/dirty-postgres.sql.gz",
              "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/1k/dirty-postgres.sql.gz",
              "bytes": 34561,
              "sha256": "8bbf3b5b9580dcad4ddaf7601a830ad160456689abd5424f1febd45b7950240f",
              "raw": {
                "bytes": 158412,
                "sha256": "1c606b8ee26c1fd1f14b6fc67e91ebad81ea6f740c8ac3b8599a083054df52e9"
              },
              "contentType": "application/gzip"
            },
            {
              "format": "dirty-csv",
              "label": "CSV, with faults",
              "file": "flagship/1k/dirty-csv.zip",
              "key": "datasets/subscription-sample-database/v1/flagship/1k/dirty-csv.zip",
              "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/1k/dirty-csv.zip",
              "bytes": 36681,
              "sha256": "418ba636031bc06dcda682c7f1661e9fb0ac00dbaf13466f2a04f00d141a3c5c",
              "tables": {
                "apikeys": {
                  "bytes": 1989,
                  "sha256": "4e32627d23a8a5099d10f36d7d8a0b9f03ccc62982cff6d43b6fe28f62b6665b"
                },
                "apirequests": {
                  "bytes": 40499,
                  "sha256": "720476fc7088c0ae2828eaeefe08404cc2d9f31c4d0c234d64005e02c4f30e08"
                },
                "access_tokens": {
                  "bytes": 2878,
                  "sha256": "acaab4981f6264187c80e12b7c0641388f27e7d5fb543051c2e61ffd50412497"
                },
                "activity_log": {
                  "bytes": 4536,
                  "sha256": "e17f34bfa07b7067c04006bb1b1e45713af90f6c9c83ee0125965eaeb0556044"
                },
                "audit_logs": {
                  "bytes": 1666,
                  "sha256": "ff83f34187ae8e565c8ac013f794b3968e09dc015705bcd6569d6122c75fb7b4"
                },
                "billing_invoices": {
                  "bytes": 9747,
                  "sha256": "9b927bf9f7812e99291bb88d5a6c31ccd999c432048b50d4455991fb4aff0181"
                },
                "discounts": {
                  "bytes": 384,
                  "sha256": "ee5ab0f50f733d9024624cba12a4c6526790a24bc65c833f598356786af87551"
                },
                "messages": {
                  "bytes": 1744,
                  "sha256": "87b072b2d8f5e9605a113feb40b01f05c71a4909f2557c348069bdd45f0da293"
                },
                "notifications": {
                  "bytes": 3984,
                  "sha256": "2c8cec98868b5944bc3f35f4faa72921914c5e1b1ddefc7bda0bfe4b2e2c3ad0"
                },
                "payment_methods": {
                  "bytes": 4613,
                  "sha256": "f47d838dee0a610cb46cdecb056d29c6c6bb0b4eb4d5f6f8a52c4b5a4c635b52"
                },
                "payments": {
                  "bytes": 5870,
                  "sha256": "8ccbf464660a448eb142cc04366d8c8a65b63af5f22e40dbe794115e0780961c"
                },
                "review_comments": {
                  "bytes": 476,
                  "sha256": "ad3efffe363ba39506d12dcf9ad7df5ebcadce198e0feeaa00ceb16926f2725a"
                },
                "roles": {
                  "bytes": 144,
                  "sha256": "1c6224e678dcbf5627f4f8c72bbc9e0238310a4fd6a118620da5c4f95a2e9c40"
                },
                "subscription_analytics": {
                  "bytes": 473,
                  "sha256": "06f6631d0f6b040aa43c943936c150c4d533a17740cb13f53259d4d690d5aac1"
                },
                "subscription_categories": {
                  "bytes": 238,
                  "sha256": "532ab4e876ec47b455f448ee31a20e3e77f37fba70e0879ec3c2ccd7169f4371"
                },
                "subscription_category_mapping": {
                  "bytes": 143,
                  "sha256": "253a039d1992b87177b79539a1ae7ab3086eece421d54ad0c2fdcf908dd57493"
                },
                "subscription_features": {
                  "bytes": 1296,
                  "sha256": "d61edf54847707af18dc68a51f7947803f7d2510d0d7b1a5b4f8fc581b670490"
                },
                "subscription_reviews": {
                  "bytes": 428,
                  "sha256": "35622768aa9a6006eee678aa5af2d2fe2d280286b1aad939b21264faa32f9a01"
                },
                "subscriptions": {
                  "bytes": 390,
                  "sha256": "de584c45241a8ccfae872e1cdc1bd47607bed3dcacf9469e4c56b8746811ea83"
                },
                "support_tickets": {
                  "bytes": 710,
                  "sha256": "54967efb8df1ef044022b5496f71f7c81378a9c4fd04dd6b9ceee273bf26bce4"
                },
                "system_logs": {
                  "bytes": 1273,
                  "sha256": "08fc474b81205422132973a0d9170b5c8ad3f48a01d1587a04bc7624bf122419"
                },
                "ticket_responses": {
                  "bytes": 963,
                  "sha256": "dc5536a9f94eed6caeb17b451821bf95aef4cc7c7cc4626f3ed3e5c749e428fc"
                },
                "user_addresses": {
                  "bytes": 3179,
                  "sha256": "744a3be217383cf4dc6639bbb8a693f90a95933df6ea5e457b6ce698d8377582"
                },
                "user_discounts": {
                  "bytes": 341,
                  "sha256": "0ce414ebf0f443d241418db4447bf218ca57b7d6ac35316784e43d58d3783dff"
                },
                "user_feedback": {
                  "bytes": 565,
                  "sha256": "fe4d6061611f2cc28baced6a7fb1422cbc3e5556af925f82101b3c0846531ad7"
                },
                "user_preferences": {
                  "bytes": 1706,
                  "sha256": "a809f425857d774695a3a88c8c35013b5e0fd1d5b4ab28df6a81406dd5994623"
                },
                "user_profiles": {
                  "bytes": 1960,
                  "sha256": "bf446f540649b596b369984e77fe8c4e0acd22484369d88f31ec195560b9395d"
                },
                "user_roles": {
                  "bytes": 462,
                  "sha256": "c52c8380a7157b8d9faed5cf248a6f31e7d2f3a824a6300c10077aa4ffedcd03"
                },
                "user_subscriptions": {
                  "bytes": 2385,
                  "sha256": "58eba6b410cb403c8a88690ef3b14f65efbf53337f3ddd997b79dad9027c6d59"
                },
                "users": {
                  "bytes": 5814,
                  "sha256": "05849b05c1c698d3fe978f4fb8f47f850ba0e3dba43c2a5fd1efadb530a1e0f3"
                }
              },
              "contentType": "application/zip"
            }
          ]
        }
      },
      "100k": {
        "rows": 231780,
        "counts": {
          "discounts": 8,
          "roles": 4,
          "subscription_categories": 6,
          "subscriptions": 8,
          "subscription_analytics": 200,
          "subscription_category_mapping": 14,
          "subscription_features": 40,
          "users": 5000,
          "access_tokens": 5000,
          "activity_log": 10000,
          "apikeys": 3000,
          "apirequests": 100000,
          "audit_logs": 3000,
          "messages": 3000,
          "notifications": 8000,
          "payment_methods": 6000,
          "subscription_reviews": 1000,
          "review_comments": 1000,
          "support_tickets": 1000,
          "system_logs": 3000,
          "ticket_responses": 2000,
          "user_addresses": 5000,
          "user_discounts": 1500,
          "user_feedback": 1000,
          "user_preferences": 8000,
          "user_profiles": 5000,
          "user_roles": 5000,
          "user_subscriptions": 6000,
          "billing_invoices": 25000,
          "payments": 24000
        },
        "notes": [],
        "downloads": [
          {
            "format": "sql-postgres",
            "label": "PostgreSQL",
            "file": "flagship/100k/postgres.sql.gz",
            "key": "datasets/subscription-sample-database/v1/flagship/100k/postgres.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/100k/postgres.sql.gz",
            "bytes": 2868222,
            "sha256": "104f3a55b6dc852a7d59fcb782100a158a7cf73e13820aca9ddc27ac5b583d47",
            "raw": {
              "bytes": 14634167,
              "sha256": "9eb77299a0e79a43e3a6b2f398f8c7d6d19a2e8cf69a1ad7b0be579faa58ee8a"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-mysql",
            "label": "MySQL",
            "file": "flagship/100k/mysql.sql.gz",
            "key": "datasets/subscription-sample-database/v1/flagship/100k/mysql.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/100k/mysql.sql.gz",
            "bytes": 2865557,
            "sha256": "67918cd7adf0e65fd916ecc51c51b47fc7428c9a43a08275bb0a698a6d9d7bd8",
            "raw": {
              "bytes": 14630607,
              "sha256": "f72d5b819e589feaa23eb653ec0f2d1c72bdeea7ec30d0c5f099d272d1eb9027"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-sqlite",
            "label": "SQLite",
            "file": "flagship/100k/sqlite.sql.gz",
            "key": "datasets/subscription-sample-database/v1/flagship/100k/sqlite.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/100k/sqlite.sql.gz",
            "bytes": 2864783,
            "sha256": "fd3eab855a6f1fbef71dc8798bb1d03611c308a3c423b9506fc8fe336ce175eb",
            "raw": {
              "bytes": 14628008,
              "sha256": "1b08fed1bf9356cde5bd28c173997a38d5ad314f2a187d48afd5095206d9ca88"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "csv",
            "label": "CSV",
            "file": "flagship/100k/csv.zip",
            "key": "datasets/subscription-sample-database/v1/flagship/100k/csv.zip",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/100k/csv.zip",
            "bytes": 2914721,
            "sha256": "672fabbd0b29d2963ddf83c8b190bb485b606d5faedc355b6ac1c49c79faf31a",
            "tables": {
              "apikeys": {
                "bytes": 205328,
                "sha256": "e361dfd270cd9b0d47288bb384bcefb478aa98bbf502ebc432b5e8a41beaaf7d"
              },
              "apirequests": {
                "bytes": 4432583,
                "sha256": "f6b5f17000651811520d264de82b126911a0447ba43f13cbe18388234246c712"
              },
              "access_tokens": {
                "bytes": 312863,
                "sha256": "964c2a6461e0438b4835efee278784376542631db09ec2ee13f7171398e35f59"
              },
              "activity_log": {
                "bytes": 492140,
                "sha256": "283bfd47f66b7ebe63d5bb41350e20761f09a433e3b3d21449d698d1389c9f4a"
              },
              "audit_logs": {
                "bytes": 181481,
                "sha256": "fc4bdfe8e688dc82f78d1d3c9e521498f7fe65998fda9afd99fd8bf3088f9aca"
              },
              "billing_invoices": {
                "bytes": 1079096,
                "sha256": "beeae05933fd46c543c799fa5cfcc88ad78f4984130020203407f80b3c4e1cdf"
              },
              "discounts": {
                "bytes": 395,
                "sha256": "273bb4c837efaface70bd0fc079fdf24b6bbc09c4c91af908c0aa9101fcfc5f5"
              },
              "messages": {
                "bytes": 193612,
                "sha256": "e4fac3e8f962b3f625b8636d3eb434891c543969cb5fda5fce531f5eeff8f01b"
              },
              "notifications": {
                "bytes": 432444,
                "sha256": "d80fe35925055d6ea3e01fb32f9cea46f7a7ca1fccb8fb91cb9f0564f55ad65d"
              },
              "payment_methods": {
                "bytes": 483422,
                "sha256": "b5539e05e9cc9097c18a69a0a04a136b54e6602ab90db84b0221b21751d240cd"
              },
              "payments": {
                "bytes": 719670,
                "sha256": "5b58bdd00e9b06a147caab55f505b3f5369c6b203c0daa52ac37de1fceaac820"
              },
              "review_comments": {
                "bytes": 46069,
                "sha256": "f463554c31ac647537aa113f4d52425a06a5695c08d1b8ebf4a361d638d65af6"
              },
              "roles": {
                "bytes": 141,
                "sha256": "009510625add39652263852594b9eef3a168d28facc844aaf2d419764f0f2315"
              },
              "subscription_analytics": {
                "bytes": 8455,
                "sha256": "dbe371825f87ad3bffa0a1c619bfb34b30bebc5ab7ea5a70d10d12e538912398"
              },
              "subscription_categories": {
                "bytes": 235,
                "sha256": "dcd042256ad13679445827f7f386e3a0e2780839fd40c428309b9f01aa934fb7"
              },
              "subscription_category_mapping": {
                "bytes": 143,
                "sha256": "0890ae330e57ea21ebcd8a3e59507b0ca95dbc263a7e9b32d2fe7449f7f35df5"
              },
              "subscription_features": {
                "bytes": 1423,
                "sha256": "b3ce6f006f8abe64246cbb8565f5d07609d96f1b328073968dafd472a4e96b4b"
              },
              "subscription_reviews": {
                "bytes": 44762,
                "sha256": "2f90a6ef691aea3a497258e5c29c3a6dacf1e15739ab8dd10540b2671f2570d0"
              },
              "subscriptions": {
                "bytes": 395,
                "sha256": "00752912f1f5711443e3642db2c43772f622b27a8241aff9ca69f0b582f08f43"
              },
              "support_tickets": {
                "bytes": 64239,
                "sha256": "06fe906706e02bcff8e5a19138d6357d346fff5497e0d228ad94170d3a9a8457"
              },
              "system_logs": {
                "bytes": 136840,
                "sha256": "44d744d8c91fbbb2bdd2bc4efc519ab800ddc12feafd71e9d4ff5f50fe89172e"
              },
              "ticket_responses": {
                "bytes": 100950,
                "sha256": "d834ad1c19ecd282aeb4af443309796c5027b303b79045f359fbd8fcecca15d2"
              },
              "user_addresses": {
                "bytes": 327542,
                "sha256": "d5224d97a040d6066d495e3de48bfb9c0e826c07ac46e945e45588b625356a89"
              },
              "user_discounts": {
                "bytes": 34632,
                "sha256": "234a83e8f627cef7d51261e6d04be62d7ce012973ef8d6999e9ec748a61b5fdf"
              },
              "user_feedback": {
                "bytes": 52139,
                "sha256": "47dcabaf28e06ba9fe7716e52a94540d2d5bb6474eb6c31b226586c02bc26127"
              },
              "user_preferences": {
                "bytes": 200984,
                "sha256": "3c67a3f4d7d6f909b0ec38800061f15e79ed2c6fbacb6dde5ad83c1678c8b5ee"
              },
              "user_profiles": {
                "bytes": 216526,
                "sha256": "fb25ab91cbae5800a044af1a717ffc850c214e717d8c13558b0494c713394c4e"
              },
              "user_roles": {
                "bytes": 62816,
                "sha256": "2bb05e4e2e56bb6d7853d45559a3e443c8bb0d4a22135314a59268408389fda5"
              },
              "user_subscriptions": {
                "bytes": 262488,
                "sha256": "8cda314bc97fe8894b5b3dfa22b3eb00d51ee2ed36ac523130734b45fdb379c8"
              },
              "users": {
                "bytes": 600447,
                "sha256": "cef19f294c15034e0c658ff8971d348f33214cf4808ff1c4afee758bfbe4ddc5"
              }
            },
            "contentType": "application/zip"
          }
        ],
        "checks": {
          "postgres": {
            "version": "18.3",
            "ok": true
          },
          "sqlite": {
            "version": "3.53.1",
            "ok": true
          },
          "notRun": [
            {
              "engine": "MySQL",
              "note": "Written from the same rows; not loaded here, no MySQL server runs in the build."
            }
          ]
        },
        "rules": [
          {
            "name": "An invoice bills its plan's monthly price and falls due fourteen days later",
            "violations": 0
          },
          {
            "name": "A subscription starts up to twenty days before its first invoice, its period ends thirty days after its latest, and it is cancelled exactly when that ran out before December 2025",
            "violations": 0
          },
          {
            "name": "A payment pays its plan's price with a card that belongs to the subscriber, after the subscription began",
            "violations": 0
          },
          {
            "name": "A customer signs up before their first subscription starts, at most six months before",
            "violations": 0
          },
          {
            "name": "An API request is made between its key's creation and its expiry",
            "violations": 0
          },
          {
            "name": "Every request has a real HTTP status code, and no one messages themselves",
            "violations": 0
          },
          {
            "name": "A ticket's responses and a review's comments come after them, and a discount is applied after its customer signed up",
            "violations": 0
          }
        ],
        "dirty": {
          "report": {
            "rates": {
              "missing": 0.03,
              "typos": 0.03,
              "outliers": 0.005,
              "duplicates": 0.01
            },
            "tables": {
              "discounts": {
                "duplicates": 0,
                "columns": {
                  "description": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  },
                  "discount_amount": {
                    "missing": 0,
                    "typos": 0,
                    "outliers": 1
                  },
                  "expiration_date": {
                    "missing": 1,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "subscription_analytics": {
                "duplicates": 2,
                "columns": {
                  "capture_date": {
                    "missing": 6,
                    "typos": 0,
                    "outliers": 0
                  },
                  "metric_name": {
                    "missing": 2,
                    "typos": 10,
                    "outliers": 0
                  },
                  "metric_value": {
                    "missing": 5,
                    "typos": 0,
                    "outliers": 1
                  }
                }
              },
              "subscription_features": {
                "duplicates": 1,
                "columns": {
                  "feature_description": {
                    "missing": 0,
                    "typos": 2,
                    "outliers": 0
                  },
                  "feature_name": {
                    "missing": 1,
                    "typos": 2,
                    "outliers": 0
                  }
                }
              },
              "users": {
                "duplicates": 49,
                "columns": {
                  "email": {
                    "missing": 136,
                    "typos": 148,
                    "outliers": 0
                  },
                  "password_hash": {
                    "missing": 175,
                    "typos": 148,
                    "outliers": 0
                  },
                  "registration_date": {
                    "missing": 143,
                    "typos": 0,
                    "outliers": 0
                  },
                  "user_name": {
                    "missing": 132,
                    "typos": 147,
                    "outliers": 0
                  }
                }
              },
              "access_tokens": {
                "duplicates": 57,
                "columns": {
                  "expiration_date": {
                    "missing": 144,
                    "typos": 0,
                    "outliers": 0
                  },
                  "token_value": {
                    "missing": 136,
                    "typos": 154,
                    "outliers": 0
                  }
                }
              },
              "activity_log": {
                "duplicates": 103,
                "columns": {
                  "activity_date": {
                    "missing": 330,
                    "typos": 0,
                    "outliers": 0
                  },
                  "activity_type": {
                    "missing": 298,
                    "typos": 289,
                    "outliers": 0
                  },
                  "details": {
                    "missing": 279,
                    "typos": 285,
                    "outliers": 0
                  }
                }
              },
              "apikeys": {
                "duplicates": 32,
                "columns": {
                  "apikey_value": {
                    "missing": 93,
                    "typos": 95,
                    "outliers": 0
                  },
                  "created_date": {
                    "missing": 97,
                    "typos": 0,
                    "outliers": 0
                  },
                  "expiration_date": {
                    "missing": 76,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "apirequests": {
                "duplicates": 988,
                "columns": {
                  "request_date": {
                    "missing": 3093,
                    "typos": 0,
                    "outliers": 0
                  },
                  "request_endpoint": {
                    "missing": 3033,
                    "typos": 3135,
                    "outliers": 0
                  },
                  "request_method": {
                    "missing": 3081,
                    "typos": 3024,
                    "outliers": 0
                  },
                  "response_code": {
                    "missing": 3004,
                    "typos": 0,
                    "outliers": 499
                  }
                }
              },
              "audit_logs": {
                "duplicates": 35,
                "columns": {
                  "action": {
                    "missing": 100,
                    "typos": 99,
                    "outliers": 0
                  },
                  "action_date": {
                    "missing": 85,
                    "typos": 0,
                    "outliers": 0
                  },
                  "details": {
                    "missing": 102,
                    "typos": 98,
                    "outliers": 0
                  }
                }
              },
              "messages": {
                "duplicates": 44,
                "columns": {
                  "body": {
                    "missing": 73,
                    "typos": 97,
                    "outliers": 0
                  },
                  "sent_date": {
                    "missing": 94,
                    "typos": 0,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 91,
                    "typos": 78,
                    "outliers": 0
                  },
                  "subject": {
                    "missing": 83,
                    "typos": 103,
                    "outliers": 0
                  }
                }
              },
              "notifications": {
                "duplicates": 73,
                "columns": {
                  "message": {
                    "missing": 239,
                    "typos": 236,
                    "outliers": 0
                  },
                  "notification_date": {
                    "missing": 249,
                    "typos": 0,
                    "outliers": 0
                  },
                  "notification_type": {
                    "missing": 234,
                    "typos": 251,
                    "outliers": 0
                  }
                }
              },
              "payment_methods": {
                "duplicates": 51,
                "columns": {
                  "billing_address": {
                    "missing": 183,
                    "typos": 186,
                    "outliers": 0
                  },
                  "cvv": {
                    "missing": 196,
                    "typos": 80,
                    "outliers": 0
                  },
                  "card_holder_name": {
                    "missing": 162,
                    "typos": 172,
                    "outliers": 0
                  },
                  "card_number": {
                    "missing": 162,
                    "typos": 58,
                    "outliers": 0
                  },
                  "expiration_date": {
                    "missing": 184,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "subscription_reviews": {
                "duplicates": 6,
                "columns": {
                  "rating": {
                    "missing": 27,
                    "typos": 0,
                    "outliers": 5
                  },
                  "review_date": {
                    "missing": 30,
                    "typos": 0,
                    "outliers": 0
                  },
                  "review_text": {
                    "missing": 22,
                    "typos": 46,
                    "outliers": 0
                  }
                }
              },
              "review_comments": {
                "duplicates": 9,
                "columns": {
                  "comment_date": {
                    "missing": 33,
                    "typos": 0,
                    "outliers": 0
                  },
                  "comment_text": {
                    "missing": 32,
                    "typos": 29,
                    "outliers": 0
                  }
                }
              },
              "support_tickets": {
                "duplicates": 14,
                "columns": {
                  "created_date": {
                    "missing": 27,
                    "typos": 0,
                    "outliers": 0
                  },
                  "description": {
                    "missing": 34,
                    "typos": 31,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 27,
                    "typos": 34,
                    "outliers": 0
                  },
                  "subject": {
                    "missing": 24,
                    "typos": 39,
                    "outliers": 0
                  }
                }
              },
              "system_logs": {
                "duplicates": 24,
                "columns": {
                  "log_date": {
                    "missing": 85,
                    "typos": 0,
                    "outliers": 0
                  },
                  "log_level": {
                    "missing": 91,
                    "typos": 98,
                    "outliers": 0
                  },
                  "log_message": {
                    "missing": 106,
                    "typos": 83,
                    "outliers": 0
                  }
                }
              },
              "ticket_responses": {
                "duplicates": 14,
                "columns": {
                  "message": {
                    "missing": 67,
                    "typos": 48,
                    "outliers": 0
                  },
                  "response_date": {
                    "missing": 46,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "user_addresses": {
                "duplicates": 45,
                "columns": {
                  "address_line1": {
                    "missing": 148,
                    "typos": 158,
                    "outliers": 0
                  },
                  "address_line2": {
                    "missing": 41,
                    "typos": 38,
                    "outliers": 0
                  },
                  "city": {
                    "missing": 152,
                    "typos": 150,
                    "outliers": 0
                  },
                  "country": {
                    "missing": 146,
                    "typos": 159,
                    "outliers": 0
                  },
                  "state": {
                    "missing": 143,
                    "typos": 134,
                    "outliers": 0
                  },
                  "zip_code": {
                    "missing": 162,
                    "typos": 48,
                    "outliers": 0
                  }
                }
              },
              "user_discounts": {
                "duplicates": 19,
                "columns": {
                  "applied_date": {
                    "missing": 42,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              },
              "user_feedback": {
                "duplicates": 9,
                "columns": {
                  "feedback_date": {
                    "missing": 31,
                    "typos": 0,
                    "outliers": 0
                  },
                  "feedback_text": {
                    "missing": 30,
                    "typos": 32,
                    "outliers": 0
                  },
                  "feedback_type": {
                    "missing": 31,
                    "typos": 29,
                    "outliers": 0
                  }
                }
              },
              "user_preferences": {
                "duplicates": 82,
                "columns": {
                  "preference_key": {
                    "missing": 269,
                    "typos": 247,
                    "outliers": 0
                  },
                  "preference_value": {
                    "missing": 240,
                    "typos": 257,
                    "outliers": 0
                  }
                }
              },
              "user_profiles": {
                "duplicates": 46,
                "columns": {
                  "birth_date": {
                    "missing": 154,
                    "typos": 0,
                    "outliers": 0
                  },
                  "first_name": {
                    "missing": 157,
                    "typos": 130,
                    "outliers": 0
                  },
                  "gender": {
                    "missing": 152,
                    "typos": 174,
                    "outliers": 0
                  },
                  "last_name": {
                    "missing": 163,
                    "typos": 142,
                    "outliers": 0
                  }
                }
              },
              "user_roles": {
                "duplicates": 51,
                "columns": {}
              },
              "user_subscriptions": {
                "duplicates": 64,
                "columns": {
                  "end_date": {
                    "missing": 189,
                    "typos": 0,
                    "outliers": 0
                  },
                  "start_date": {
                    "missing": 173,
                    "typos": 0,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 161,
                    "typos": 154,
                    "outliers": 0
                  }
                }
              },
              "billing_invoices": {
                "duplicates": 276,
                "columns": {
                  "due_date": {
                    "missing": 775,
                    "typos": 0,
                    "outliers": 0
                  },
                  "invoice_date": {
                    "missing": 761,
                    "typos": 0,
                    "outliers": 0
                  },
                  "status": {
                    "missing": 783,
                    "typos": 715,
                    "outliers": 0
                  },
                  "total_amount": {
                    "missing": 741,
                    "typos": 0,
                    "outliers": 119
                  }
                }
              },
              "payments": {
                "duplicates": 230,
                "columns": {
                  "amount": {
                    "missing": 727,
                    "typos": 0,
                    "outliers": 124
                  },
                  "payment_date": {
                    "missing": 717,
                    "typos": 0,
                    "outliers": 0
                  }
                }
              }
            },
            "totals": {
              "missing": 24242,
              "typos": 11872,
              "outliers": 749,
              "duplicates": 2324
            }
          },
          "downloads": [
            {
              "format": "dirty-sql-postgres",
              "label": "PostgreSQL, with faults",
              "file": "flagship/100k/dirty-postgres.sql.gz",
              "key": "datasets/subscription-sample-database/v1/flagship/100k/dirty-postgres.sql.gz",
              "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/100k/dirty-postgres.sql.gz",
              "bytes": 2940999,
              "sha256": "005235678076563bc75dfa925e59a27474ba783104ac901682ea4280accab435",
              "raw": {
                "bytes": 14621897,
                "sha256": "d3e2dd845cde122fe2e7ead207decf442a4e462644c666d451d625a9292dcdf6"
              },
              "contentType": "application/gzip"
            },
            {
              "format": "dirty-csv",
              "label": "CSV, with faults",
              "file": "flagship/100k/dirty-csv.zip",
              "key": "datasets/subscription-sample-database/v1/flagship/100k/dirty-csv.zip",
              "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/100k/dirty-csv.zip",
              "bytes": 2968195,
              "sha256": "e93121e653623d5321ed21b24a22019078b4a0a1112444f01c294892fd084575",
              "tables": {
                "apikeys": {
                  "bytes": 202540,
                  "sha256": "03bd153c549e06d005789cce900842b06b35ba50cc39d73422afc00fc8e5420e"
                },
                "apirequests": {
                  "bytes": 4398267,
                  "sha256": "7510d05ea15afcefcace9e28e1623ff01a7481f14b83b0d8a9851f49ae43447d"
                },
                "access_tokens": {
                  "bytes": 309625,
                  "sha256": "86de63c01575b0636cf864414756e288b179562495bb3d6b2106b0a458022b28"
                },
                "activity_log": {
                  "bytes": 487334,
                  "sha256": "4c1206b1ed7f8a71ad772d4175071815168f1caf1dcb16396f4388f8cc5e2c31"
                },
                "audit_logs": {
                  "bytes": 179275,
                  "sha256": "cdf480a4b14dd7727a94e9c8754c381a54980c0074e793c7722a0b31ce3d9055"
                },
                "billing_invoices": {
                  "bytes": 1070686,
                  "sha256": "b50ff7acded2819d2b85f00af0efffaf339e4123b9023b0a5eaac55a84b3c2a3"
                },
                "discounts": {
                  "bytes": 374,
                  "sha256": "fe1499ffa07392057ae7d39e00dfe838147d09b7c7e894296b00d117b5246411"
                },
                "messages": {
                  "bytes": 193200,
                  "sha256": "f45d80b8ead9c7fda33e5efbf6879a6ceae02da48f0b69b2866250098923c0cd"
                },
                "notifications": {
                  "bytes": 427227,
                  "sha256": "600fd6f1ef1490cc46b706b01f2178780dfa5146b4202ae4365024f508a2ec98"
                },
                "payment_methods": {
                  "bytes": 477080,
                  "sha256": "63874ad69f91ab75e4d47590debfa8b4aa27cc416cc86bef3c6364a99e6d5656"
                },
                "payments": {
                  "bytes": 718280,
                  "sha256": "bf024544d206a6856578b07986d4e235c144a7bb73f7b02e0549e2dc509949ad"
                },
                "review_comments": {
                  "bytes": 45590,
                  "sha256": "3f7d5678799dcad9b8b69de6566b988d1b021e0e8f49518c128a75ed256502db"
                },
                "roles": {
                  "bytes": 141,
                  "sha256": "009510625add39652263852594b9eef3a168d28facc844aaf2d419764f0f2315"
                },
                "subscription_analytics": {
                  "bytes": 8423,
                  "sha256": "7333d51fad7b2c7f287d23ba012c6f0ed8bb6b9af7d63d79e88da43b8e00eafa"
                },
                "subscription_categories": {
                  "bytes": 235,
                  "sha256": "dcd042256ad13679445827f7f386e3a0e2780839fd40c428309b9f01aa934fb7"
                },
                "subscription_category_mapping": {
                  "bytes": 143,
                  "sha256": "0890ae330e57ea21ebcd8a3e59507b0ca95dbc263a7e9b32d2fe7449f7f35df5"
                },
                "subscription_features": {
                  "bytes": 1450,
                  "sha256": "22fa756774fa59f1f68d83f3ccfe438081e8d24190cf69b651a0fc445dbc3f3a"
                },
                "subscription_reviews": {
                  "bytes": 44354,
                  "sha256": "85f6cd54e12d92ea7084196f742302064c7707748c344a4dda2cfeff5e6b3f37"
                },
                "subscriptions": {
                  "bytes": 395,
                  "sha256": "00752912f1f5711443e3642db2c43772f622b27a8241aff9ca69f0b582f08f43"
                },
                "support_tickets": {
                  "bytes": 63832,
                  "sha256": "1394f4a67955b16d5606db59a58c9c50547ecb22652636402fc6dae658ef1455"
                },
                "system_logs": {
                  "bytes": 135064,
                  "sha256": "a156e3eced87faa87521f6aeb46fdabeb3e3dd875b7d11cc62553bbba43ee7df"
                },
                "ticket_responses": {
                  "bytes": 99634,
                  "sha256": "0fe30ed1a996896b307342ab714054d75d835b1ab36439ccf1558f7161c0eb8c"
                },
                "user_addresses": {
                  "bytes": 324040,
                  "sha256": "520bec9e072277873dd889a8cffc09024c1dd78bac33529e53776761a1e3cd2b"
                },
                "user_discounts": {
                  "bytes": 34664,
                  "sha256": "e683bcaa3b21f3cf7b7bb52d2019c39610c018bd13a2227b57af5499e257985a"
                },
                "user_feedback": {
                  "bytes": 51445,
                  "sha256": "284d8606e135576f5e623254165e8efb1034ed245a460be93934b5d0703edcd5"
                },
                "user_preferences": {
                  "bytes": 200497,
                  "sha256": "d608d3eaf1f87b0ae3aa1f95ea2754507189d337489a6913dcd13a48abbfd7a7"
                },
                "user_profiles": {
                  "bytes": 214419,
                  "sha256": "35c213e50b48200ed4b3163bb7770152d30889ed5f83c81c9d7bd0bd4b3d4dac"
                },
                "user_roles": {
                  "bytes": 63467,
                  "sha256": "1f7c3865fe3df8a5a0d6aea01d8e9a3ca643208bc215c6d8e69518d76fdbb71a"
                },
                "user_subscriptions": {
                  "bytes": 260552,
                  "sha256": "7c466f8839cf2cde03cce47edfaa5ca7d049135f509688e865c7d871cedf69d9"
                },
                "users": {
                  "bytes": 589335,
                  "sha256": "0f8a9e89b37b4594762cf690fb82412ae370cfd70cd8971c1265529f16312336"
                }
              },
              "contentType": "application/zip"
            }
          ]
        }
      },
      "1m": {
        "rows": 2317080,
        "counts": {
          "discounts": 8,
          "roles": 4,
          "subscription_categories": 6,
          "subscriptions": 8,
          "subscription_analytics": 2000,
          "subscription_category_mapping": 14,
          "subscription_features": 40,
          "users": 50000,
          "access_tokens": 50000,
          "activity_log": 100000,
          "apikeys": 30000,
          "apirequests": 1000000,
          "audit_logs": 30000,
          "messages": 30000,
          "notifications": 80000,
          "payment_methods": 60000,
          "subscription_reviews": 10000,
          "review_comments": 10000,
          "support_tickets": 10000,
          "system_logs": 30000,
          "ticket_responses": 20000,
          "user_addresses": 50000,
          "user_discounts": 15000,
          "user_feedback": 10000,
          "user_preferences": 80000,
          "user_profiles": 50000,
          "user_roles": 50000,
          "user_subscriptions": 60000,
          "billing_invoices": 250000,
          "payments": 240000
        },
        "notes": [
          "At this size the tables beside apirequests were cut to 1/16 of it, so the whole build stays under 3,000,000 rows."
        ],
        "downloads": [
          {
            "format": "sql-postgres",
            "label": "PostgreSQL",
            "file": "flagship/1m/postgres.sql.gz",
            "key": "datasets/subscription-sample-database/v1/flagship/1m/postgres.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/1m/postgres.sql.gz",
            "bytes": 30125754,
            "sha256": "cbfc9d2875edcaba8762ebdbc2ded2f55ee6c36c7d0b622551f6e14d6e5e966d",
            "raw": {
              "bytes": 150968646,
              "sha256": "0ae254009f1c3abc7683037dcf54ef76f2056c280f80cd5ed700326694886a43"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-mysql",
            "label": "MySQL",
            "file": "flagship/1m/mysql.sql.gz",
            "key": "datasets/subscription-sample-database/v1/flagship/1m/mysql.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/1m/mysql.sql.gz",
            "bytes": 30123235,
            "sha256": "56a1ed731937c807b35cd2b60a12aebb6967bd86a572d1c9d126c2899ac99001",
            "raw": {
              "bytes": 150965086,
              "sha256": "b0713b8a735358bdf07a979f6add284ea46c4fd8f01c2bcdac1e4567cc43f187"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-sqlite",
            "label": "SQLite",
            "file": "flagship/1m/sqlite.sql.gz",
            "key": "datasets/subscription-sample-database/v1/flagship/1m/sqlite.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/1m/sqlite.sql.gz",
            "bytes": 30122457,
            "sha256": "6ffe50ff2bdd894d312c34990c329756d4a4f09448dbe7eaf9a00935b1c1c58e",
            "raw": {
              "bytes": 150962487,
              "sha256": "b646f464e499b31b7c908ceac26b649e456f4077828d2f02c7a17792fcb78f92"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "csv",
            "label": "CSV",
            "file": "flagship/1m/csv.zip",
            "key": "datasets/subscription-sample-database/v1/flagship/1m/csv.zip",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/subscription-sample-database/v1/flagship/1m/csv.zip",
            "bytes": 30873491,
            "sha256": "b871bd3c3a8671250c7ab3517463a47f25d6c743623c30c6d7730a51f75c3a76",
            "tables": {
              "apikeys": {
                "bytes": 2112219,
                "sha256": "0eae1d72b219b640815fa8c6ff53be26a0095ea396e575c4c1a4a53cc7aaf1bf"
              },
              "apirequests": {
                "bytes": 46318581,
                "sha256": "becc37429598c3eba4cd181721a4fcf2866c25f7e04be175ca4ae21b0a88b379"
              },
              "access_tokens": {
                "bytes": 3227908,
                "sha256": "954c51c3fba352c4c607c5e95071891c3ae9e456e1e6a0b545826912dcb8d8ef"
              },
              "activity_log": {
                "bytes": 5125727,
                "sha256": "7a07e1bd709aa1e9fe57d75a22337dc1a323bc6d8c8b905ef58b07f34db6841d"
              },
              "audit_logs": {
                "bytes": 1874313,
                "sha256": "74957b0bd016971d8a304a06dd658151efacc8cd0f1b0294219125385f6a0137"
              },
              "billing_invoices": {
                "bytes": 11287472,
                "sha256": "dd88777cccab097d68a0f95014e087b8803687e0bd872ac538a60fbe47746eea"
              },
              "discounts": {
                "bytes": 395,
                "sha256": "273bb4c837efaface70bd0fc079fdf24b6bbc09c4c91af908c0aa9101fcfc5f5"
              },
              "messages": {
                "bytes": 2024964,
                "sha256": "3bda668a2d1a74cb4370bb1b0a9276f67cd3dddecd3fcc3f70b9460fad7eaf17"
              },
              "notifications": {
                "bytes": 4483473,
                "sha256": "22387535204aa24fcfc1defbeaf6539f7829ba51d7ddae6c9bbedc1b08e97092"
              },
              "payment_methods": {
                "bytes": 4953858,
                "sha256": "56294f56268f41f60301a8d083d20be73292b3f350bb88015c4fb1c28dd055f7"
              },
              "payments": {
                "bytes": 7913576,
                "sha256": "fc3fe63cd349ebae33167761fdd73f5b982b11c24104e4bf6c194cb9c7446f4e"
              },
              "review_comments": {
                "bytes": 487440,
                "sha256": "82469015dee7cb54a471a22171971e05a6d377a0db7499c1efdd6d70d5ee4ed8"
              },
              "roles": {
                "bytes": 141,
                "sha256": "009510625add39652263852594b9eef3a168d28facc844aaf2d419764f0f2315"
              },
              "subscription_analytics": {
                "bytes": 85531,
                "sha256": "1e13292beb6c5401bd84e086e5bd4685648de6bac02475dca926e2d7e3bd505d"
              },
              "subscription_categories": {
                "bytes": 235,
                "sha256": "dcd042256ad13679445827f7f386e3a0e2780839fd40c428309b9f01aa934fb7"
              },
              "subscription_category_mapping": {
                "bytes": 143,
                "sha256": "3eb9ecee6125995107d2fe572cf40ac60142255932e07c5109f60f1ee3344051"
              },
              "subscription_features": {
                "bytes": 1431,
                "sha256": "ce642df6070ffd6c032fb3d45f5f64c12bb8345bc9996d39491c13a250c6ee41"
              },
              "subscription_reviews": {
                "bytes": 465280,
                "sha256": "c1a5c20275b44e09577da692b1df6c5020c2f53e83eee9e3b987da9d39fe311d"
              },
              "subscriptions": {
                "bytes": 395,
                "sha256": "00752912f1f5711443e3642db2c43772f622b27a8241aff9ca69f0b582f08f43"
              },
              "support_tickets": {
                "bytes": 658385,
                "sha256": "b0a1e86ad676aa82c62dfaa165e1d396bb09f3a8b075ba2ddf7be79bfb545c61"
              },
              "system_logs": {
                "bytes": 1430004,
                "sha256": "3eff9f20b7988c3434033993430508df1b919c0fdb7abcd8103b0a26bc1c31dd"
              },
              "ticket_responses": {
                "bytes": 1066725,
                "sha256": "eb70f570dcb209b8878a48ba9a3c609cb0d084bb20a05967cc679130d4d35e77"
              },
              "user_addresses": {
                "bytes": 3373959,
                "sha256": "282faa2f5b59640e9eab2cb7cca8f949280da05d974d6952649ff36c432d57cc"
              },
              "user_discounts": {
                "bytes": 375588,
                "sha256": "e361aa8f0f1dadfd07411f85ada304586c43271d2ceb558da8d1f6457a03c2c1"
              },
              "user_feedback": {
                "bytes": 541786,
                "sha256": "56248b279671b055d0ca7fc3b71e9785aa7c6d69130563a5d61ff4dada41c42c"
              },
              "user_preferences": {
                "bytes": 2172702,
                "sha256": "878dc3e87239a7f72a31df194356174b60b37067e35f451bf9eea2c54369ac2e"
              },
              "user_profiles": {
                "bytes": 2268796,
                "sha256": "c3a1b69b5f2d25bab19723fb9059eeb5476febd0d904411bcb489085421df56c"
              },
              "user_roles": {
                "bytes": 727818,
                "sha256": "a8fd2a421f74031a9bb61cd5088f14b04a6c1c14bf83afb0ff2677231b9f9d98"
              },
              "user_subscriptions": {
                "bytes": 2743987,
                "sha256": "a50c3cd26be85a1580b8d5fef2d08d5edc875e95fe3e1ebbd74fcc96740e6637"
              },
              "users": {
                "bytes": 6050532,
                "sha256": "51d9f53149b78f5b1af78559856ef6839cf47322f015f888c02751266425c5a4"
              }
            },
            "contentType": "application/zip"
          }
        ],
        "checks": {
          "postgres": {
            "version": "18.3",
            "ok": true
          },
          "sqlite": {
            "version": "3.53.1",
            "ok": true
          },
          "notRun": [
            {
              "engine": "MySQL",
              "note": "Written from the same rows; not loaded here, no MySQL server runs in the build."
            }
          ]
        },
        "rules": [
          {
            "name": "An invoice bills its plan's monthly price and falls due fourteen days later",
            "violations": 0
          },
          {
            "name": "A subscription starts up to twenty days before its first invoice, its period ends thirty days after its latest, and it is cancelled exactly when that ran out before December 2025",
            "violations": 0
          },
          {
            "name": "A payment pays its plan's price with a card that belongs to the subscriber, after the subscription began",
            "violations": 0
          },
          {
            "name": "A customer signs up before their first subscription starts, at most six months before",
            "violations": 0
          },
          {
            "name": "An API request is made between its key's creation and its expiry",
            "violations": 0
          },
          {
            "name": "Every request has a real HTTP status code, and no one messages themselves",
            "violations": 0
          },
          {
            "name": "A ticket's responses and a review's comments come after them, and a discount is applied after its customer signed up",
            "violations": 0
          }
        ]
      }
    },
    "rules": [
      {
        "name": "An invoice bills its plan's monthly price and falls due fourteen days later",
        "sql": "SELECT count(*) AS violations FROM billing_invoices i JOIN user_subscriptions us ON us.user_subscription_id = i.user_subscription_id JOIN subscriptions s ON s.subscription_id = us.subscription_id WHERE i.total_amount <> s.price OR i.due_date <> i.invoice_date + 14"
      },
      {
        "name": "A subscription starts up to twenty days before its first invoice, its period ends thirty days after its latest, and it is cancelled exactly when that ran out before December 2025",
        "sql": "SELECT count(*) AS violations FROM user_subscriptions us JOIN (SELECT user_subscription_id, min(invoice_date) AS first, max(invoice_date) AS last FROM billing_invoices GROUP BY user_subscription_id) i ON i.user_subscription_id = us.user_subscription_id WHERE us.start_date > i.first OR us.start_date < i.first - 20 OR us.end_date <> i.last + 30 OR us.status <> CASE WHEN us.end_date < '2025-12-01' THEN 'cancelled' ELSE 'active' END"
      },
      {
        "name": "A payment pays its plan's price with a card that belongs to the subscriber, after the subscription began",
        "sql": "SELECT count(*) AS violations FROM payments p JOIN user_subscriptions us ON us.user_subscription_id = p.user_subscription_id JOIN subscriptions s ON s.subscription_id = us.subscription_id JOIN payment_methods pm ON pm.payment_method_id = p.payment_method_id WHERE p.amount <> s.price OR pm.user_id <> us.user_id OR p.payment_date < us.start_date"
      },
      {
        "name": "A customer signs up before their first subscription starts, at most six months before",
        "sql": "SELECT count(*) AS violations FROM users u JOIN (SELECT user_id, min(start_date) AS first FROM user_subscriptions GROUP BY user_id) s ON s.user_id = u.user_id WHERE u.registration_date > s.first OR u.registration_date < s.first - 180"
      },
      {
        "name": "An API request is made between its key's creation and its expiry",
        "sql": "SELECT count(*) AS violations FROM apirequests r JOIN apikeys k ON k.apikey_id = r.apikey_id WHERE r.request_date < k.created_date OR r.request_date >= k.expiration_date"
      },
      {
        "name": "Every request has a real HTTP status code, and no one messages themselves",
        "sql": "SELECT (SELECT count(*) FROM apirequests WHERE response_code NOT IN (200, 201, 204, 400, 401, 403, 404, 429, 500)) + (SELECT count(*) FROM messages WHERE sender_id = receiver_id) AS violations"
      },
      {
        "name": "A ticket's responses and a review's comments come after them, and a discount is applied after its customer signed up",
        "sql": "SELECT (SELECT count(*) FROM ticket_responses r JOIN support_tickets t ON t.ticket_id = r.ticket_id WHERE r.response_date < t.created_date) + (SELECT count(*) FROM review_comments c JOIN subscription_reviews r ON r.review_id = c.review_id WHERE c.comment_date < r.review_date) + (SELECT count(*) FROM user_discounts d JOIN users u ON u.user_id = d.user_id WHERE d.applied_date < u.registration_date) AS violations"
      }
    ]
  },
  "publishedAt": 1791389844520,
  "updatedAt": 1791389844520
}
