Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Did you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now

Reply
going_grey
Frequent Visitor

SQL Database - Source Control

Hi

 

I can't find information to confirm the following: (I'll simplify the scenario)

I have a workspace thats connected to an Azure DevOps Repo. It contains a SQL Database with two tables - Table A and Table B. I branched out to a new workspace and droppedTable B.

 

If I commit, merge back into main and update the "main" workspace, should Table B still exist there?

 

In my case, Table B still exists. I expected it to be gone. Am I missing anything here?

1 ACCEPTED SOLUTION
deborshi_nag
Community Champion
Community Champion

Hello @going_grey 

 

This is expected behaviour. Fabric Git integration only manages artefact definitions and does not reconcile or enforce the physical schema inside a SQL Database or Warehouse. Dropping a table in a branched workspace is a runtime DDL change and isn’t tracked or replayed when you merge and update the main workspace. As a result, existing tables like Table B will remain unless they’re explicitly dropped in that workspace (or via a deployment script). Git sync today is additive and non‑destructive by design.
 
Fabric Git integration is Source control for the shell of the database, not its contents.
 

Dropping a table is comparable to:

  • Deleting rows inside a lakehouse
  • Running TRUNCATE TABLE
  • Changing data, not definitions

Those actions are outside Git reconciliation.

 

I trust this will be helpful. If you found this guidance useful, you are welcome to acknowledge with a Kudos or by marking it as a Solution.

View solution in original post

2 REPLIES 2
stoic-harsh
Resolver III
Resolver III

Hi @going_grey,

This is expected. Fabric Git sync for database objects (unlike pipeline, notbooks) is intentionally non-destructive, meaning deleting a table's definition file from a branch and merging it back does not trigger a DROP TABLE command. In short, Git only controls the schema definitions, not destructive DDL.

Just FYI, note that Warehouse and SQL Database track full object definitions in Git (Tables, Views, Stored Procedures, Functions), while Lakehouse track only metadata and shortcuts.

 

That being said, if you find something useful or contrary to these points, please do share so that it benefits us all in such scenarios.

deborshi_nag
Community Champion
Community Champion

Hello @going_grey 

 

This is expected behaviour. Fabric Git integration only manages artefact definitions and does not reconcile or enforce the physical schema inside a SQL Database or Warehouse. Dropping a table in a branched workspace is a runtime DDL change and isn’t tracked or replayed when you merge and update the main workspace. As a result, existing tables like Table B will remain unless they’re explicitly dropped in that workspace (or via a deployment script). Git sync today is additive and non‑destructive by design.
 
Fabric Git integration is Source control for the shell of the database, not its contents.
 

Dropping a table is comparable to:

  • Deleting rows inside a lakehouse
  • Running TRUNCATE TABLE
  • Changing data, not definitions

Those actions are outside Git reconciliation.

 

I trust this will be helpful. If you found this guidance useful, you are welcome to acknowledge with a Kudos or by marking it as a Solution.

Helpful resources

Announcements
April Fabric Update Carousel

Fabric Monthly Update - April 2026

Check out the April 2026 Fabric update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.