Yii 프레임워크에서 데이터베이스 마이그레이션(Migration) 기능을 사용하는 방법
소개:
데이터베이스 마이그레이션은 웹 애플리케이션을 개발하고 유지 관리할 때 매우 중요한 도구입니다. 데이터베이스 마이그레이션은 데이터베이스 스키마에 대한 변경 사항을 관리하는 데 도움이 되므로 테이블을 쉽게 생성, 수정, 삭제할 수 있을 뿐만 아니라 열을 추가, 삭제, 수정할 수도 있습니다. 이번 글에서는 Yii 프레임워크에서 데이터베이스 마이그레이션(Migration) 기능을 사용하는 방법을 소개하겠습니다.
1. 데이터베이스 정보 구성
데이터베이스 마이그레이션을 사용하기 전에 먼저 데이터베이스 정보를 구성해야 합니다. Yii 프레임워크의 config
디렉터리에 있는 db.php
파일을 열고 자신의 데이터베이스 구성에 따라 다음 관련 코드를 수정합니다. config
目录下的db.php
文件,根据自己的数据库配置修改以下相关代码:
return [ // ... 'components' => [ // ... 'db' => [ 'class' => 'yiidbConnection', 'dsn' => 'mysql:host=localhost;dbname=mydatabase', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ], ], ];
二、创建迁移文件
在Yii框架中,每个数据库迁移都可以是一个独立的PHP类。我们可以通过Yii的命令行工具来创建新的迁移文件。打开命令行终端,进入Yii项目的根目录,并执行以下命令:
./yii migrate/create create_table_user
上述命令将创建一个名为m210101_000000_create_table_user
的迁移文件。该文件将位于consolemigrations
目录下。
三、编写迁移代码
打开刚刚创建的迁移文件,我们可以看到其包含了两个函数:up()
和down()
。
use yiidbMigration; class m210101_000000_create_table_user extends Migration { public function up() { $this->createTable('user', [ 'id' => $this->primaryKey(), 'username' => $this->string()->notNull(), 'email' => $this->string()->notNull(), 'password' => $this->string()->notNull(), 'created_at' => $this->dateTime()->notNull(), 'updated_at' => $this->dateTime()->notNull(), ]); } public function down() { $this->dropTable('user'); } }
在up()
函数中,我们使用createTable()
方法创建了一个名为user
的表,并定义了其各个字段和数据类型。
在down()
函数中,我们使用dropTable()
方法删除了之前创建的user
表。
四、执行迁移操作
在编写完迁移代码后,我们需要执行迁移操作,将我们的数据库架构变更应用到实际的数据库中。在命令行终端中执行以下命令:
./yii migrate
上述命令将会执行所有未执行过的迁移文件,并将数据库架构变更应用到实际的数据库中。
除了执行所有未执行的迁移之外,我们还可以执行以下命令来执行一些其他特定的迁移操作:
./yii migrate/new
:显示所有未执行的迁移文件;./yii migrate/redo
:重做最后一个迁移操作;./yii migrate/down
:回滚最后一个迁移操作;./yii migrate/create
rrreeerrreee
위 명령을 실행하면 m210101_000000_create_table_user
라는 마이그레이션 파일이 생성됩니다. 이 파일은 consolemigrations
디렉터리에 있습니다.
up()
및 down()
이라는 두 가지 함수가 포함되어 있는 것을 볼 수 있습니다. 🎜rrreee🎜 up()
함수에서 createTable()
메서드를 사용하여 user
라는 테이블을 만들고 개별 필드와 데이터 유형. 🎜🎜down()
함수에서는 dropTable()
메서드를 사용하여 이전에 생성된 user
테이블을 삭제합니다. 🎜🎜4. 마이그레이션 작업 수행🎜 마이그레이션 코드를 작성한 후 데이터베이스 스키마 변경 사항을 실제 데이터베이스에 적용하기 위한 마이그레이션 작업을 수행해야 합니다. 명령줄 터미널에서 다음 명령을 실행합니다. 🎜rrreee🎜위 명령은 실행되지 않은 모든 마이그레이션 파일을 실행하고 데이터베이스 스키마 변경 사항을 실제 데이터베이스에 적용합니다. 🎜🎜모든 미해결 마이그레이션을 실행하는 것 외에도 다음 명령을 실행하여 다른 특정 마이그레이션 작업을 수행할 수도 있습니다: 🎜./yii migration/new
: show all Unexecuted migration file; 🎜./yii migration/redo
: 마지막 마이그레이션 작업을 다시 실행합니다. 🎜./yii migration/down
: return 마지막 마이그레이션 작업을 롤합니다. ; 🎜./yii migration/create
: 새 마이그레이션 파일을 생성합니다. 🎜🎜🎜요약: 🎜이 글에서는 Yii 프레임워크에서 데이터베이스 마이그레이션 기능을 사용하는 기본 단계를 소개합니다. 먼저 데이터베이스 정보를 구성한 후 마이그레이션 파일을 생성하고 해당 마이그레이션 코드를 작성했습니다. 마지막으로 Yii의 명령줄 도구를 사용하여 마이그레이션을 수행했습니다. 데이터베이스 마이그레이션 기능을 사용하면 데이터베이스 스키마 변경 사항을 쉽게 관리하고 추적할 수 있습니다. 이는 웹 애플리케이션의 개발 및 유지 관리를 위한 매우 편리하고 실용적인 도구입니다. 🎜위 내용은 Yii 프레임워크에서 데이터베이스 마이그레이션(Migration) 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!