DemoDataWorks

Generator Restore & Load Guide

Practical instructions for using the files in a package produced by the DemoDataWorks Generator.

This guide covers the files a Generator package can contain. It's a general reference, not a replacement for the README and load instructions included inside your own downloaded package — those describe your exact package (table names, database name, and which formats you selected), and take precedence if anything here seems to differ.

Before loading anything:

  1. Download your package from the Generator.
  2. Extract the ZIP to a folder on your computer.
  3. Open the package's own README and load instructions.
  4. Come back here for the relevant section below.

CSV

CSV files live under the package's data/csv/ folder — one file per table. They're the canonical data baseline included in every package, even when you've selected other formats.

Any standard CSV-compatible tool can open or import them — Excel, Power BI, Python (pandas, polars), or a database import/load tool.

SQLite

The generated SQLite database lives under data/sqlite/. Open it directly with any SQLite-compatible client or tool — no server, and no load step, required. The exact filename is shown in your package's own instructions.

Suitable for local querying and demos out of the box.

DuckDB

The generated DuckDB database lives under data/duckdb/. Open or query it directly with any DuckDB-compatible tool — no server required, and the tables are already created and populated.

duckdb data/duckdb/<your-package's-database>.duckdb

Parquet

Parquet files live under the package's data/parquet/ folder — one .parquet file per table. No load step is needed; query the files directly.

DuckDB:

SELECT COUNT(*) FROM 'data/parquet/customers.parquet';

Python (pandas):

import pandas as pd
df = pd.read_parquet("data/parquet/customers.parquet")

Also usable with Spark, Databricks, and other data-lake workflows.

SQL Server

The Generator's SQL Server format, under data/sqlserver/, provides schema, data files, load scripts, constraints, indexes, and a PowerShell helper script — not a ready-to-restore .bak. You need SQL Server installed to load and use this package (you did not need it to generate or download the package itself). SQL Server 2017 or newer is required.

Open PowerShell in data/sqlserver and run:

.\load.ps1 -Server localhost

Common local server names:

.\load.ps1 -Server ".\SQLEXPRESS"
.\load.ps1 -Server "(localdb)\MSSQLLocalDB"

-C (already used by the script) trusts the server certificate, which most local/self-signed SQL Server instances need. Loading reads CSV files from an absolute path that must be reachable by the SQL Server service itself, not just by you — this is the most common load failure, along with the account needing the BULK ADMIN permission to run BULK INSERT. Your package's own LOAD_INSTRUCTIONS.md covers both in detail.

Optional: once the database is loaded, you can create a .bak afterward:

.\create_bak.ps1 -Server localhost

By default this writes to SQL Server's own backup directory. A custom output location (via -OutDir) must be writable by the SQL Server service account, not just your own Windows account.

PostgreSQL

The Generator's PostgreSQL format, under data/postgres/, provides schema, data, constraints, indexes, and load scripts — not a ready-made dump. You need PostgreSQL installed to load and use this package (you did not need it to generate or download the package itself).

Open PowerShell in data/postgres and run:

.\load.ps1 -PgHost localhost -Port 5432 -Database retail_erp_demo -User postgres

retail_erp_demo above is an example only — use the database name shown in your own package's instructions, since it varies by industry.

If psql isn't on your PATH, the script looks for it in common Windows PostgreSQL install locations automatically. Password entry is handled by PostgreSQL's own normal prompt — DemoDataWorks' helper scripts never store it.

Optional: once the database is loaded, you can create a dump afterward:

.\create_dump.ps1 -PgHost localhost -Port 5432 -Database <database> -User postgres

Add -PgDumpPath if pg_dump isn't found automatically. Restore it elsewhere with:

pg_restore -d <database> <file.dump>

Power BI

Every Generator package automatically includes a matching Power BI starter template and setup guide, under power_bi/ — bundled content, not a format you select separately.

  1. Extract the ZIP.
  2. Open the matching .pbit file under power_bi/.
  3. When prompted for a DataFolder parameter, point it to the extracted package's data\csv folder.
  4. Load/refresh.
  5. Optionally, use File → Save As to keep a populated .pbix copy.

Power BI Desktop is required to open the template — a free, Windows-only desktop application from Microsoft. It is not included in the package.

Software you'll need

You do not need SQL Server or PostgreSQL installed to purchase, generate, or download a package — only to load and use the SQL Server or PostgreSQL format specifically.

  • CSV — any CSV-compatible tool.
  • SQLite — any SQLite-compatible client or tool.
  • DuckDB — any DuckDB-compatible tool.
  • Parquet — DuckDB, Python, Spark, Databricks, or similar.
  • SQL Server — SQL Server 2017 or newer, required only to load/use that package.
  • PostgreSQL — required only to load/use that package.
  • Power BI — Power BI Desktop, required only to open the .pbit template.