diff --git a/src/dataconnect/schemaMigration.ts b/src/dataconnect/schemaMigration.ts index e26df809eed..1741a35bd5a 100644 --- a/src/dataconnect/schemaMigration.ts +++ b/src/dataconnect/schemaMigration.ts @@ -24,7 +24,6 @@ import { Schema } from "./types"; import { Options } from "../options"; import { FirebaseError } from "../error"; import { logLabeledBullet, logLabeledWarning, logLabeledSuccess } from "../utils"; -import * as experiments from "../experiments"; import * as errors from "./errors"; export async function diffSchema( @@ -41,13 +40,11 @@ export async function diffSchema( let diffs: Diff[] = []; // If the schema validation mode is unset, we surface both STRICT and COMPATIBLE mode diffs, starting with COMPATIBLE. - let validationMode: SchemaValidation = experiments.isEnabled("fdccompatiblemode") - ? schemaValidation ?? "COMPATIBLE" - : "STRICT"; + let validationMode: SchemaValidation = schemaValidation ?? "COMPATIBLE"; setSchemaValidationMode(schema, validationMode); try { - if (!schemaValidation && experiments.isEnabled("fdccompatiblemode")) { + if (!schemaValidation) { logLabeledBullet("dataconnect", `generating required schema changes...`); } await upsertSchema(schema, /** validateOnly=*/ true); @@ -78,7 +75,7 @@ export async function diffSchema( } // If the validation mode is unset, then we also surface any additional optional STRICT diffs. - if (experiments.isEnabled("fdccompatiblemode") && !schemaValidation) { + if (!schemaValidation) { validationMode = "STRICT"; setSchemaValidationMode(schema, validationMode); try { @@ -127,9 +124,7 @@ export async function migrateSchema(args: { let diffs: Diff[] = []; // If the schema validation mode is unset, we surface both STRICT and COMPATIBLE mode diffs, starting with COMPATIBLE. - let validationMode: SchemaValidation = experiments.isEnabled("fdccompatiblemode") - ? schemaValidation ?? "COMPATIBLE" - : "STRICT"; + let validationMode: SchemaValidation = schemaValidation ?? "COMPATIBLE"; setSchemaValidationMode(schema, validationMode); try { @@ -183,7 +178,7 @@ export async function migrateSchema(args: { } // If the validation mode is unset, then we also surface any additional optional STRICT diffs. - if (experiments.isEnabled("fdccompatiblemode") && !schemaValidation) { + if (!schemaValidation) { validationMode = "STRICT"; setSchemaValidationMode(schema, validationMode); try { @@ -274,11 +269,9 @@ function diffsEqual(x: Diff[], y: Diff[]): boolean { } function setSchemaValidationMode(schema: Schema, schemaValidation: SchemaValidation) { - if (experiments.isEnabled("fdccompatiblemode")) { - const postgresDatasource = schema.datasources.find((d) => d.postgresql); - if (postgresDatasource?.postgresql) { - postgresDatasource.postgresql.schemaValidation = schemaValidation; - } + const postgresDatasource = schema.datasources.find((d) => d.postgresql); + if (postgresDatasource?.postgresql) { + postgresDatasource.postgresql.schemaValidation = schemaValidation; } } diff --git a/src/experiments.ts b/src/experiments.ts index 644fd2b5e78..334b75176ab 100644 --- a/src/experiments.ts +++ b/src/experiments.ts @@ -137,13 +137,6 @@ export const ALL_EXPERIMENTS = experiments({ default: true, public: false, }, - - fdccompatiblemode: { - shortDescription: "Enable Data Connect schema migrations in Compatible Mode", - fullDescription: "Enable Data Connect schema migrations in Compatible Mode", - default: true, - public: false, - }, }); export type ExperimentName = keyof typeof ALL_EXPERIMENTS; diff --git a/src/init/features/dataconnect/index.ts b/src/init/features/dataconnect/index.ts index fdb68825286..20546eb3851 100644 --- a/src/init/features/dataconnect/index.ts +++ b/src/init/features/dataconnect/index.ts @@ -8,7 +8,6 @@ import { provisionCloudSql } from "../../../dataconnect/provisionCloudSql"; import { checkFreeTrialInstanceUsed, upgradeInstructions } from "../../../dataconnect/freeTrial"; import * as cloudsql from "../../../gcp/cloudsql/cloudsqladmin"; import { ensureApis, ensureSparkApis } from "../../../dataconnect/ensureApis"; -import * as experiments from "../../../experiments"; import { listLocations, listAllServices, @@ -25,9 +24,6 @@ import * as sdk from "./sdk"; import { getPlatformFromFolder } from "../../../dataconnect/fileUtils"; const DATACONNECT_YAML_TEMPLATE = readTemplateSync("init/dataconnect/dataconnect.yaml"); -const DATACONNECT_YAML_COMPAT_EXPERIMENT_TEMPLATE = readTemplateSync( - "init/dataconnect/dataconnect-fdccompatiblemode.yaml", -); const CONNECTOR_YAML_TEMPLATE = readTemplateSync("init/dataconnect/connector.yaml"); const SCHEMA_TEMPLATE = readTemplateSync("init/dataconnect/schema.gql"); const QUERIES_TEMPLATE = readTemplateSync("init/dataconnect/queries.gql"); @@ -239,9 +235,7 @@ function subDataconnectYamlValues(replacementValues: { connectorDirs: "__connectorDirs__", locationId: "__location__", }; - let replaced = experiments.isEnabled("fdccompatiblemode") - ? DATACONNECT_YAML_COMPAT_EXPERIMENT_TEMPLATE - : DATACONNECT_YAML_TEMPLATE; + let replaced = DATACONNECT_YAML_TEMPLATE; for (const [k, v] of Object.entries(replacementValues)) { replaced = replaced.replace(replacements[k], JSON.stringify(v)); } diff --git a/templates/init/dataconnect/dataconnect-fdccompatiblemode.yaml b/templates/init/dataconnect/dataconnect-fdccompatiblemode.yaml deleted file mode 100644 index 1529d097f8d..00000000000 --- a/templates/init/dataconnect/dataconnect-fdccompatiblemode.yaml +++ /dev/null @@ -1,12 +0,0 @@ -specVersion: "v1beta" -serviceId: __serviceId__ -location: __location__ -schema: - source: "./schema" - datasource: - postgresql: - database: __cloudSqlDatabase__ - cloudSql: - instanceId: __cloudSqlInstanceId__ - # schemaValidation: "COMPATIBLE" -connectorDirs: __connectorDirs__ diff --git a/templates/init/dataconnect/dataconnect.yaml b/templates/init/dataconnect/dataconnect.yaml index f798ef9410f..1529d097f8d 100644 --- a/templates/init/dataconnect/dataconnect.yaml +++ b/templates/init/dataconnect/dataconnect.yaml @@ -8,4 +8,5 @@ schema: database: __cloudSqlDatabase__ cloudSql: instanceId: __cloudSqlInstanceId__ + # schemaValidation: "COMPATIBLE" connectorDirs: __connectorDirs__