Forum Discussion

LopesN's avatar
LopesN
Frequent Visitor
1 year ago
Solved

Deployment Rules for Semantic Models - Change connection from DEV to TEST

Hello everyone, After setting a deployment rule (fabric deployment pipelines) to dynamically change the Semantic Model source (Lakehouse) from DEV to TEST workspace, I cannot use the compare feature...
  • burakkaragoz's avatar
    burakkaragoz
    1 year ago

    LopesN ,

     

    Thanks a lot for the update — and for sharing the PySpark workaround using semantic-link-labs, that’s super valuable for others who might hit the same wall.

    From what you’ve described, it really looks like the Compare feature is holding onto some internal metadata reference tied to the original Lakehouse, and even after deletion + redeployment, it doesn’t fully reset.

    Here’s a quick recap of what you tried (and a small tweak others might try too):

    What you did:

    • Deleted the Lakehouse and all related Semantic Models
    • Re-deployed from DEV
    • Used this code to redirect the model to TEST:
    %pip install semantic-link-labs
    from sempy.labs.directlake import update_direct_lake_model_lakehouse_connection
    
    dataset_name = "Lakehouse_Test_NLSM"  # Name of the deployed dataset
    workspace_name = None                 # Optional: specify if needed
    lakehouse_name = None                 # Optional: specify if needed
    lakehouse_workspace_name = None      # Optional: specify if needed
    
    update_direct_lake_model_lakehouse_connection(
        dataset = dataset_name,
        workspace = workspace_name,
        lakehouse = lakehouse_name,
        lakehouse_workspace = lakehouse_workspace_name
    )

    This is a solid approach — but unfortunately, as you said, Compare still fails, even with a clean redeploy.


    🔍 What else to try:

    • Try creating a completely new Lakehouse (with a different name) and deploy a fresh Semantic Model on top of it. If Compare works there, it confirms the issue is tied to internal lineage/cache on the original Lakehouse.
    • If you’re comfortable, try using the Fabric REST APIs to inspect or reset lineage metadata (though this is more advanced and not always exposed).
    • Definitely raise this with Microsoft Fabric support — this feels like a backend issue that needs cleanup on their side.

    Let me know if you want help testing with a minimal setup — happy to assist.

    If my response resolved your query, kindly mark it as the Accepted Solution to assist others. Additionally, I would be grateful for a 'Kudos' if you found my response helpful.

    *This response was supported by AI for translation and text editing purposes.