Skip to content

Migrate from Metabase / Looker / Hex

~varies by source · scaffold first, refine by hand

DQL's migration tooling doesn't promise a one-click swap — it scaffolds a starting point that you refine. Expect ~80% of simple queries to compile cleanly; the remaining 20% surface as // TODO comments in the generated .dql files.

From Looker (LookML)

dql migrate looker --input path/to/lookml/

Maps views → DQL tables, measures → metrics, dimensions → dimensions. Liquid templating becomes // TODO comments with the original inline.

From Metabase

dql migrate metabase --input export.json

Reads a Metabase collection export. Questions become notebooks; saved SQL becomes blocks.

From Hex

dql migrate hex --input workspace.zip

Cells map 1:1. Python cells are preserved as markdown with the original source for manual port.

From raw SQL

dql migrate raw-sql --input queries/

Each .sql file becomes a block scaffold with a generated chart spec inferred from column types.

Verify

After any migration:

dql validate .
dql fmt .

validate flags unresolved references; fmt canonicalizes the scaffolded output so the initial commit is clean.