[2
如何管理PHP 中的数据库迁移
1。什么是数据库迁移?
数据库迁移是对数据库架构更改(例如,创建,更新或删除表和列的更改)并以受控方式应用这些更改的方式。迁移允许团队:
要安装phinx,您可以使用Composer将其添加为依赖项。 作曲家需要Robmorgan/Phinx
步骤2:configuration file此配置设置了两个环境(开发和生产),phinx将管理数据库的迁移。
composer require robmorgan/phinx此命令在DB/Migrations目录中创建一个迁移文件。迁移文件将看起来像这样:
此迁移创建一个用户表,其中有两个列:名称和电子邮件。
[ 'migrations' => 'db/migrations', 'seeds' => 'db/seeds' ], 'environments' => [ 'default' => 'development', 'development' => [ 'adapter' => 'mysql', 'host' => 'localhost', 'name' => 'your_database_name', 'user' => 'root', 'pass' => '', 'charset' => 'utf8', ], 'production' => [ 'adapter' => 'mysql', 'host' => 'production_host', 'name' => 'your_production_database', 'user' => 'prod_user', 'pass' => 'prod_password', 'charset' => 'utf8', ] ] ];
创建迁移后,您可以使用以下命令将迁移应用于数据库:
php vendor/bin/phinx create CreateUsersTable
如果您需要撤消迁移(例如,当您想重新换一个更改时),phinx提供以下命令:
table('users'); $table->addColumn('name', 'string') ->addColumn('email', 'string') ->create(); } }
您还可以回到特定版本或步骤,如果需要:
php vendor/bin/phinx migrate
php vendor/bin/phinx migrate
php vendor/bin/phinx migrate
'mysql:// root:@localhost/your_database_name',
);
//设置迁移配置
$ config =新配置($ conn);
$ config-> setMigrationsNamespace('app \ migrations');
$ config-> setMigrationsDirectory('db/migrations');
//创建迁移工具
$ console = consolerunner :: createApplication($ config);
$ console-> run();
php vendor/bin/phinx rollback -t 20210101000000
您可以使用学说CLI生成迁移:
步骤4:运行迁移
table('users'); $table->addColumn('name', 'string') ->addColumn('email', 'string') ->create(); } }
回滚迁移,使用:
composer require robmorgan/phinx您可以指定要返回的迁移版本,如有需要。
php vendor/bin/phinx migrate
避免手动更改
:避免在数据库中直接进行手动更改。使用迁移进行模式更改,因此可以对其进行版本进行版本并进行跟踪。测试迁移
:在将其应用于生产之前,请务必在登台或开发数据库上测试您的迁移,以避免潜在的问题。
php vendor/bin/doctrine-migrations migrate:避免大型,整体迁移。相反,进行增量更改,因为这使调试和理解变得更加容易。
管理数据库迁移是任何PHP应用程序开发过程的重要组成部分。使用迁移工具,例如
php vendor/bin/doctrine-migrations execute --down通过使用这些工具,您可以专注于构建应用程序的逻辑,同时确保数据库始终与代码的更改保持同步。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3