Your First Project
This guide walks you through building a data solution in ADL from scratch. You’ll set up connections, create data objects, define mappings, choose templates, and generate output — covering the full end-to-end workflow.
What you’ll build
Section titled “What you’ll build”By the end of this guide, you’ll have:
- A project with source and target connections
- Data objects representing tables in both systems
- Mappings that describe how data flows from source to target
- Templates assigned to your target objects
- Generated SQL scripts ready for deployment
Prerequisites
Section titled “Prerequisites”- ADL is open in your browser
- You’ve completed the Getting Started guide (or have an empty project folder ready)
Step 1: Set up your connections
Section titled “Step 1: Set up your connections”Start by creating the connections that represent your data stores.
- Navigate to the Connections screen from the sidebar.
- Create a source connection — this represents where your data comes from. Give it a descriptive name like “Source System” and set the connection type to match your source database.
- Create a target connection — this represents where your data is going. For example, “Staging Area” with the appropriate connection type and schema details.
Think of connections as labels for the different layers in your data architecture. They tell ADL (and your templates) where each data object lives.
Step 2: Create your data objects
Section titled “Step 2: Create your data objects”Next, define the tables or views you’ll be working with.
- Navigate to the Data Objects screen.
- Create a data object for a source table — give it a name (e.g., “Customer”) and assign it to your source connection.
- Add Data Items (columns) to your source object — for example,
CustomerId(INT),CustomerName(NVARCHAR(100)),Email(NVARCHAR(255)). - Create a data object for the corresponding target table — assign it to your target connection and add the same columns, plus any additional audit columns your pattern requires.
Repeat for as many tables as you’d like to include.
Step 3: Define your mappings
Section titled “Step 3: Define your mappings”Mappings tell ADL how data flows from source to target.
- Navigate to the Data Object Mappings screen.
- Create a new mapping, selecting your source object and target object.
- Add Data Item Mappings for each column — mapping
CustomerId→CustomerId,CustomerName→CustomerName, and so on. - Set any business keys — for example,
CustomerIdas the key used for matching records.
Step 4: Assign templates
Section titled “Step 4: Assign templates”Templates define what output ADL will generate for each data object.
- Go back to the Data Objects screen and select your target object.
- Add a template mapping — this links a template to the data object.
- Choose a template from the library. For a staging table, you might pick a
CREATE TABLEDDL template. For a loading procedure, pick a stored procedure template. - Repeat for each target object that needs generated output.
Step 5: Preview and generate
Section titled “Step 5: Preview and generate”Before generating everything, it’s a good idea to check that your templates produce the expected output.
- Navigate to the Code Preview screen.
- Select one of your target objects and its assigned template.
- Review the generated output — does it look right? If not, adjust your metadata or template and check again.
- Once you’re happy, go to the Code Generator screen.
- Generate all output — ADL will process every mapping and write the results to your output folder.
Step 6: Review and deploy
Section titled “Step 6: Review and deploy”Your generated files are now in the output folder of your project. From here:
- Review the files — Open them in your favorite editor or browse them on the Files screen.
- Commit to your repository — Add the generated files to Git alongside your metadata and templates.
- Deploy — Use your normal deployment process (CI/CD pipeline, manual execution, etc.) to apply the generated scripts to your target environment.
What’s next?
Section titled “What’s next?”- Create a Custom Template — Learn to write your own Handlebars templates
- Import Existing Metadata — Bring in schemas from existing databases