Database Schema & Structure

The powerLoad Database acts as an intermediate BCP database and provides simple, SQL-based tables for all entities supported by the Autodesk Data Transfer Utility (DTU).
This allows data to be easily transformed via SQL before being imported into the target Vault.



Table Overview

Each Vault entity type (e.g. Files, Folders, Items, Custom Objects) has a corresponding table.
Similarly, references between entities (e.g. file associations, BOMs, and links) have dedicated tables to support many-to-many relationships.

The tables are designed for readability, performance, and safety, using clear column definitions and referential integrity.

Table

Description

Folders

Represents the folder hierarchy in Vault

FolderLinks

Defines links from folders to other Vault entities

Files

Stores file metadata, paths, and revision information

FileAssociations

Defines relationships between files (dependencies & attachments)

Items

Contains Item Master records including versions and metadata

ItemFileLinks

Associations between Items and files (primary, secondard, … attachments)

ItemBOMs

Contains parent–child relationships between Items

CustomObjects

Used to transfer custom entity types, such as Tasks or Change Orders

CustomObjectsLinks

Defines links from Custom Objects to other Vault entities

Important Notes:

  • During a load, at least the table columns marked with “Can Import - ✅ Required” must be filled with values.

  • All foreign key references use ON UPDATE CASCADE and ON DELETE CASCADE, which allows safe operations such as moving, renaming, or deleting entities and all their relations.


Extending the Schema

You can extend the powerLoad Database with additional columns or user-defined tables to suit your project needs.
The cmdlet Export-BCPDatabase will not be affected by these changes as long as the documented core structure remains unchanged.

All column names created by the Export-BCPDatabase cmdlet use short, descriptive names and represent the values as they are imported into the target Vault.
When adding new columns, this naming concept should be taken into account to avoid confusion.
To clearly distinguish custom columns from the standard schema, it is safe to use a leading underscore (_) for such columns.