Writing database migrations
When building and maintaining modern web applications, the underlying structure of our database may need to change to account for changes in requirements or scopes. To ensure that our database schema can evolve in tandem with our source code, Yii2 provides built-in support to manage database migrations. Using database migrations, we can treat our database as an extension of the source code and easily change it when our source code changes.
An overview of schema
When working with database migrations, we'll often be working with the yii\db\Schema
class. When paired properly, we can often write our migrations in a way that enables them to be run across a variety of database types. For example, when working locally, we might need to use a local SQLite database even if our application will ultimately run on a MySQL database.
At the heart of this class is a variety of different schema types that Yii2 will be able to properly map to the appropriate data type within our...