diff --git a/plugins/destination/plugin_testing_migrate.go b/plugins/destination/plugin_testing_migrate.go index a18c49f9ea..b0cc40acf8 100644 --- a/plugins/destination/plugin_testing_migrate.go +++ b/plugins/destination/plugin_testing_migrate.go @@ -15,6 +15,7 @@ import ( "github.com/cloudquery/plugin-sdk/v2/types" "github.com/google/uuid" "github.com/rs/zerolog" + "github.com/stretchr/testify/require" ) func tableUUIDSuffix() string { @@ -241,4 +242,18 @@ func (*PluginTestSuite) destinationPluginTestMigrate( t.Fatal(err) } }) + + t.Run("double_migration", func(t *testing.T) { + tableName := "double_migration_" + tableUUIDSuffix() + table := schema.CQSchemaToArrow(testdata.TestTable(tableName)) + + p := newPlugin() + require.NoError(t, p.Init(ctx, logger, spec)) + require.NoError(t, p.Migrate(ctx, schema.Schemas{table})) + + nonForced := spec + nonForced.MigrateMode = specs.MigrateModeSafe + require.NoError(t, p.Init(ctx, logger, nonForced)) + require.NoError(t, p.Migrate(ctx, schema.Schemas{table})) + }) }