liveBook · Manning

Migration

A migration is a process of transferring or transforming data, software, or system state from a source form or environment to a target form or environment.

How 19 Manning books explain it

ASP.NET Core in Action, 3e

A database migration is a versioned change that updates a database schema to match changes in an application's data model.

How it is used
Keeps an EF Core database schema aligned with an evolving application data model.
How deep it goes
Works through initial and subsequent migrations, generated files, and application, while treating production deployment choices as an overview.
Examples
Uses an initial schema, added recipe properties, and Identity user entities as migration cases.
What you can do after
Operate/configure it with `dotnet ef migrations add` and `dotnet ef database update` to record and apply schema changes.

Read how ASP.NET Core in Action, 3e explains migration →

Django in Action

A Django migration is a versioned description of database schema changes derived from changes to application models.

How it is used
Synchronizes Django model changes with database tables through generated, versioned migration scripts.
How deep it goes
Explains migration-file structure, dependencies, schema operations, defaults for existing rows, reversibility, and custom `RunPython` work.
Examples
Uses a Promoter model, an added `famous_for` field, a default-value prompt, and address-field conversion exercises.
What you can do after
Operate/configure it by generating and applying migrations, supplying defaults for existing rows, and creating custom data migrations.

Read how Django in Action explains migration →

Machine Learning System Design

A data integration process that extracts data from sources, transforms it, and loads the result into a destination.

How it is used
Makes source data available as datasets for ML training while preserving access to the same sources at runtime.
How deep it goes
Defines ETL and works through design questions and cases, but defers detailed storage and processing-tool engineering.
Examples
Uses API JSON converted to CSV or Parquet, daily retail transaction aggregates, and photo-search interaction datasets.
What you can do after
Operate/configure it by identifying sources, choosing storage, planning quality checks, and verifying that jobs deliver usable data.

Read how Machine Learning System Design explains migration →

Data Pipelines with Apache Airflow, Second Edition

Extract, transform, load is a data-integration process that retrieves data from a source, transforms it, and loads the result into a destination.

How it is used
Coordinates periodic movement and transformation of data between source and destination systems for dashboards or analysis.
How deep it goes
Explains task ordering, source inspection, and scheduling implications, but does not specify a universal transformation or loading implementation.
Examples
Uses a weather dashboard, hourly Wikimedia page-view dumps, production-database exports, and a New York City transportation pipeline.
What you can do after
Build it from scratch as an ordered Airflow pipeline after inspecting source data and planning how often to load it.

Read how Data Pipelines with Apache Airflow, Second Edition explains migration →

Generative AI in Action

ETL is a data-processing pattern that extracts data from sources, transforms it, and loads it into a destination system.

How it is used
Positions ETL as preparation of enterprise source data for retrieval-augmented generation.
How deep it goes
Outlines source profiling, extraction, preprocessing, indexing, and storage selection without providing an executable ETL implementation.
Examples
Names CRM and ERP systems as sources and Azure AI Search as an indexing option, without a worked pipeline.
What you can do after
Evaluate/understand how to plan a retriever pipeline around source structure, preprocessing, retrieval needs, and data refresh.

Read how Generative AI in Action explains migration →

Delivering Machine Learning Projects: From design to deployment

Data migration is the transfer of data between storage systems, formats, schemas, or operational environments.

How it is used
Positions cloud data migration as a delivery dependency for production data and new applications.
How deep it goes
Works through an interim provisioning decision but leaves the migration project's data feeds and dependencies to that project.
Examples
Uses a week-seven migration deadline, a one-time opdis2 copy, and a dev/test/prod provisioning diagram.
What you can do after
Evaluate/understand it by identifying a migration deadline's delivery risk and planning approved interim development data.

Read how Delivering Machine Learning Projects: From design to deployment explains migration →

Unit Testing Principles, Practices, and Patterns

A database migration is an explicit, versioned change that transitions a database schema or its data to a subsequent state.

How it is used
Supports controlled database delivery and testable schema changes by recording each transition explicitly.
How deep it goes
Explains source control, version transitions, reversibility, and trade-offs against state-based delivery, but not migration tooling internals.
Examples
Uses a numbered CreateUserTable migration with Up and Down operations, plus a version-transition diagram.
What you can do after
Operate database delivery by applying schema and reference-data changes through explicit, source-controlled migrations.

Read how Unit Testing Principles, Practices, and Patterns explains migration →

Pro ASP.NET Core 7, Tenth Edition

A database migration is a versioned change that creates or updates a database schema to match an application's data model.

How it is used
Keeps database schemas aligned with changing Entity Framework Core data models in ASP.NET Core applications.
How deep it goes
Works through generating and applying initial and subsequent migrations, including startup application and multi-context selection; does not develop migration SQL by hand.
Examples
Uses initial schemas, added order storage, a shipped-order property, and a separate Identity database.
What you can do after
Operate/configure it with dotnet-ef commands or startup migration application, selecting a context when multiple databases exist.

Read how Pro ASP.NET Core 7, Tenth Edition explains migration →

Kafka for Architects

Extract-transform-load is a data integration process that extracts data from a source, transforms it, and loads it into a target storage system.

How it is used
Uses ETL for periodic warehouse loading, reporting, and historical analysis when real-time results are unnecessary.
How deep it goes
Explains ETL stages and staging-area operations, then outlines Kafka schema-migration procedures without a code-level implementation.
Examples
Illustrates ETL with a staging-area diagram and controlled UAT transfers with masking and schema transformation.
What you can do after
Evaluate/understand it: Choose periodic ETL where it fits and plan coordinated Kafka transitions for incompatible schemas.

Read how Kafka for Architects explains migration →

Google Anthos in Action

Migration is the process of moving workloads or applications from one execution environment or deployment model to another.

How it is used
Uses migration to shift VM-based workloads into containers and deploy them through GKE or Anthos.
How deep it goes
Explains workload selection, three operational phases, generated artifacts, credentials, validation, deployment, and Windows variations.
Examples
Demonstrates Apache on a GCE VM, Linux and Windows migrations, generated artifacts, and load-balanced Kubernetes deployment.
What you can do after
Apply via migctl: register sources, create migration plans, generate artifacts, inspect status, and deploy containerized workloads.

Read how Google Anthos in Action explains migration →

Writing for Developers: Blogs that get read

A database migration is the process of changing a database's organization, deployment, or stored data while preserving the application's required behavior.

How it is used
Guides teams through moving or reorganizing production data while managing transformation cost, downtime, and correctness.
How deep it goes
Explains type translation, sharding choices, double writes, backfilling, and integrity checks, but stops short of implementation details.
Examples
Uses a Postgres-to-FakeDB transfer and Notion’s migration from a monolithic database to sharded databases.
What you can do after
Operate/configure staged migrations using data transformation, double writes, backfilling, and integrity checks.

Read how Writing for Developers: Blogs that get read explains migration →

Machine Learning Platform Engineering

Extract-transform-load is a data-processing technique that extracts data from sources, transforms it, and loads it into a target system.

How it is used
Supports reliable ML data preparation by connecting structured ETL with repeatable, reproducible, and observable workflows.
How deep it goes
Introduces ETL as a workflow component but stops short of specifying extraction logic, transformation code, loading targets, or failure handling.
Examples
Uses structured ETL, versioned ETL pipelines, raw and intermediate datasets, and Kubeflow Pipelines as concrete artifacts.
What you can do after
Apply it via Kubeflow Pipelines to organize repeatable, reproducible, and observable ML data workflows.

Read how Machine Learning Platform Engineering explains migration →

The Quick Python Book, Fourth Edition

Extract-transform-load is a data-integration process that extracts data from sources, transforms it into a suitable form, and loads it into a destination system.

How it is used
Frames Python data processing as a pipeline for reading, cleaning, reorganizing, and storing file-based data.
How deep it goes
Explains ETL stages and practical file concerns, but stops short of detailed database storage and advanced structured-file processing.
Examples
Uses text files, delimited files, CSV data, spreadsheet files, UTF-8 encoding, and database destinations as working artifacts.
What you can do after
Apply ETL in Python to extract file data, clean and normalize records, and write results for applications or analysis.

Read how The Quick Python Book, Fourth Edition explains migration →

Building Web APIs with ASP.NET Core

A database migration is a versioned set of changes that updates a database schema or related persisted data to match an application's data model.

How it is used
Keeps a code-first database schema synchronized with an evolving application data model while preserving existing data.
How deep it goes
Explains generated files, snapshots, creation, application, rollback, verification, and maintenance risks without detailing generated SQL internals.
Examples
Demonstrates Initial, Chapter4_Exercises, and Identity migrations applied, inspected, or used to restore an earlier schema.
What you can do after
Operate EF Core CLI migrations to create, apply, inspect, and revert database schema changes.

Read how Building Web APIs with ASP.NET Core explains migration →

PostgreSQL Mistakes and How to Avoid Them

A database migration is a planned change to database structure or related objects that is applied to an existing database.

How it is used
Guides planned PostgreSQL upgrades, cross-database moves, and schema changes while emphasizing preparation and operational safety.
How deep it goes
Explains migration risks through an encoding incident and introduces DDL analysis, but stops short of a complete migration workflow.
Examples
Uses a MySQL-to-PostgreSQL dump, latin1-to-UTF-8 conversion, null-byte cleanup, and Squawk warnings about migration locks.
What you can do after
Diagnose migration failures with import output, convert legacy dump encodings, clean invalid bytes, and review DDL risks before deployment.

Read how PostgreSQL Mistakes and How to Avoid Them explains migration →

Architecture Modernization: Socio-technical alignment of software, strategy, and structure

ETL is a data-integration process that extracts data, transforms it, and then loads it into a target system.

How it is used
Frames migration as the path from legacy subsystems to architecture aligned with domains and independent value streams.
How deep it goes
Explains investment choices, parallel operation, target alignment, and roadmap needs without prescribing implementation details.
Examples
Uses parallel old and new versions, subsystem rewrites, and ETL pipelines serving data warehouses and data lakes.
What you can do after
Evaluate modernization investments and choose migration strategies that balance business value, return on investment, and cost of delay.

Read how Architecture Modernization: Socio-technical alignment of software, strategy, and structure explains migration →

Apache Kafka in Action

A ZooKeeper-to-KRaft migration is the controlled transition of Kafka cluster metadata management from ZooKeeper to KRaft.

How it is used
Moves an existing Kafka cluster’s metadata management from ZooKeeper to KRaft through a staged transition.
How deep it goes
Outlines upgrade stages, controller settings, replication, and a rollback point, while leaving detailed execution instructions to official documentation.
Examples
Uses a staged version-upgrade sequence and example migration settings for controllers and brokers.
What you can do after
Evaluate a migration plan by checking its upgrade order, controller configuration, and rollback point.

Read how Apache Kafka in Action explains migration →

Code Like a Pro in Rust

A database migration is a versioned change that transforms a database schema or stored data from one state to another.

How it is used
Runs schema changes during Rust service startup, after database connection and before API routes begin serving requests.
How deep it goes
Explains migration authoring, application, idempotence, reversibility, and operational risk, but does not detail SQLx internals.
Examples
Uses a SQLx CLI-generated todos migration and a Rust initializer that applies migrations to an optionally created SQLite database.
What you can do after
Operate SQLx migrations safely by generating files, applying them during initialization, and checking database targets before execution.

Read how Code Like a Pro in Rust explains migration →

Building Distributed Applications that Work

Migration is the process of adapting an existing software system or project to another platform version or environment.

How it is used
Adapts an existing Aspire application to a newer version while retaining its service projects and integrations.
How deep it goes
Gives project-file edits and CLI commands for a staged upgrade; does not detail application-code changes.
Examples
Uses project definitions for a web frontend, API service, and SQL Server integration across Aspire 8, 9, and 13.
What you can do after
Operate/configure an Aspire 8-to-13 upgrade using manual edits followed by `aspire update`, with optional project-file cleanup.

Read how Building Distributed Applications that Work explains migration →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.