Safely removing unused columns identified via dependency checks in Appian

Certified Senior Developer

Hello all,


I have come across certain columns of different tables which are not being used in anyway. To validate  this, I have done the following :

Check for CDT dependencies Check for record type dependencies Search for usage of the field/column globally in the application

Based on the above, it appears that these fields are not being referenced by anything.

But prior to deleting the columns, I wanted to get your feedback regarding the following:

Does the above process ensure that the columns can be deleted without causing any issues ? Is there anything else that needs to be checked prior to deleting such columns (Process Models, integration etc.) ? What is the best way to delete such columns in Appian ? Am I supposed to deprecate these columns prior to their deletion ?

Thanks

  Discussion posts and replies are publicly visible

  • 0
    Certified Lead Developer

    I think your approach is valid. Just make sure there is no dependency. To validate this, you could rename the columns and check whether the application keeps working. Then, delete them after validation.

  • 0
    Certified Lead Developer

    You’re already doing the right kind of due diligence—but I wouldn’t call it “safe enough to delete” just yet. In Appian, unused-looking columns can still bite you later because usage isn’t always obvious or directly referenced.

    Appian has indirect usage patterns that won’t show up clearly in these checks: like  Process variables (PV mappings),Script tasks / expressions, Smart services (Write to Data Store, integrations).

    if Appian doesn’t use the field internally, External systems might expect it, APIs might still send/receive it so you can check the following objects: Integration objects, Web APIs, Connected systems

    Sometimes fields are dynamically referenced (fv!item[fieldName])

    Database-level dependencies: Check in DB Views using the column, Stored procedures,Triggers

    So on a high note instead of deleting it Rename column from fieldname to fieldname_DEPRECATED and verify if its working or breaking the logic

  • Open Record, navigate to the Data Model, and click the delete icon next to the column you want to remove. Appian will automatically display all dependencies for that column. Review them carefully and remove or update the dependencies wherever the column is being used.

  • 0
    Certified Associate Developer

    I think if you are having a record type then then the dependency will be sugested by appian when you are removing he column, if so you are using CDT the check the dependent artifacts and might need to remove those dependencied if they breaks.

  • 0
    Certified Senior Developer

    Hi  ,

    I strongly follow this approach, its just my opinion as per best practice, you can also follow this:

    Firstly, Check the dependencies in : 

    Process Models, Integrations, Database-level dependencies (SP,views,Triggers), Running Processes.

    Best way to delete:

    Step 1: Soft deprecate (recommended)

    • Stop using column in Appian
    • Remove from CDT + record type
    • Keep column in DB

    Step 2: Deploy & monitor

    • Watch logs
    • Check process failures
    • Validate integrations

    Step 3: Drop column in DB (if not dropped, you can use those fields in future, if needed)

    ALTER TABLE table_name DROP COLUMN column_name;