fix(dataconnect): split fast connector sync from full schema sync

This commit is contained in:
zouantchaw
2026-02-27 15:28:09 -05:00
parent e0d633d65d
commit c52bb7e767
4 changed files with 59 additions and 19 deletions

View File

@@ -2,11 +2,14 @@
# Usage examples:
# make dataconnect-sync DC_ENV=dev
# make dataconnect-sync-full DC_ENV=dev
# make dataconnect-seed DC_ENV=validation
# make dataconnect-clean DC_ENV=validation
# make dataconnect-generate-sdk DC_ENV=dev
#
DC_ENV ?= dev
DC_LOCATION ?= us-central1
DC_CONNECTOR_ID ?= example
DC_SERVICE_DEV := krow-workforce-db
DC_SERVICE_VALIDATION := krow-workforce-db-validation
@@ -19,7 +22,7 @@ else
$(error Invalid DC_ENV '$(DC_ENV)'. Use DC_ENV=dev or DC_ENV=validation)
endif
.PHONY: dataconnect-enable-apis dataconnect-init dataconnect-deploy dataconnect-sql-migrate dataconnect-generate-sdk dataconnect-sync dataconnect-bootstrap-db check-gcloud-beta dataconnect-clean dataconnect-bootstrap-validation-db dataconnect-file dataconnect-file-validation dataconnect-file-dev dataconnect-seed dataconnect-test
.PHONY: dataconnect-enable-apis dataconnect-init dataconnect-deploy dataconnect-sql-migrate dataconnect-generate-sdk dataconnect-sync dataconnect-sync-full dataconnect-bootstrap-db check-gcloud-beta dataconnect-clean dataconnect-bootstrap-validation-db dataconnect-file dataconnect-file-validation dataconnect-file-dev dataconnect-seed dataconnect-test
#creation dataconnect file
dataconnect-file:
@@ -79,15 +82,23 @@ dataconnect-generate-sdk: dataconnect-file
@firebase dataconnect:sdk:generate --project=$(FIREBASE_ALIAS)
@echo "✅ Data Connect SDK generation completed for [$(DC_ENV)]."
# Unified backend schema update workflow (schema -> deploy -> SDK)
# Fast sync workflow for connector/query changes (deploy connector -> SDK)
dataconnect-sync: dataconnect-file
@echo "--> [1/3] Deploying Data Connect [$(DC_SERVICE)]..."
@firebase deploy --only dataconnect:$(DC_SERVICE) --project=$(FIREBASE_ALIAS)
@echo "--> [1/2] Deploying Data Connect connector [$(DC_SERVICE):$(DC_CONNECTOR_ID)]..."
@firebase deploy --only dataconnect:$(DC_SERVICE):$(DC_CONNECTOR_ID) --project=$(FIREBASE_ALIAS) --force
@echo "--> [2/2] Regenerating SDK [$(DC_SERVICE)]..."
@firebase dataconnect:sdk:generate --project=$(FIREBASE_ALIAS)
@echo "✅ Data Connect connector + SDK sync completed for [$(DC_ENV)]."
# Full backend schema update workflow (schema -> migrate -> SDK)
dataconnect-sync-full: dataconnect-file
@echo "--> [1/3] Deploying full Data Connect service [$(DC_SERVICE)]..."
@firebase deploy --only dataconnect:$(DC_SERVICE) --project=$(FIREBASE_ALIAS) --force
@echo "--> [2/3] Applying SQL migrations [$(DC_SERVICE)]..."
@firebase dataconnect:sql:migrate --project=$(FIREBASE_ALIAS)
@firebase dataconnect:sql:migrate --project=$(FIREBASE_ALIAS) --service $(DC_SERVICE) --location $(DC_LOCATION) --force
@echo "--> [3/3] Regenerating SDK [$(DC_SERVICE)]..."
@firebase dataconnect:sdk:generate --project=$(FIREBASE_ALIAS)
@echo "✅ Data Connect SQL, deploy, and SDK generation [$(ENV)]."
@echo "✅ Data Connect full schema sync completed for [$(DC_ENV)]."
# Execute seed in Firebase Data Connect
dataconnect-seed: dataconnect-file
@@ -268,4 +279,4 @@ dataconnect-bootstrap-validation-database: dataconnect-file-validation
@echo "⚠️ Generating Data Connect SDK ($(DC_SERVICE))..."
@firebase dataconnect:sdk:generate --project=$(FIREBASE_ALIAS)
@echo "🎉 Validation Cloud SQL + Data Connect bootstrap completed successfully!"
@echo "🎉 Validation Cloud SQL + Data Connect bootstrap completed successfully!"