Laravel의 데이터베이스 마이그레이션은 데이터베이스, 테이블, 필드 및 인덱스에 대한 일련의 관련 작업을 제공합니다. 다음은 친숙한 링크 테이블을 생성하는 예입니다.
Artisan 명령을 사용하세요. php artisan make:migration create_links_table
이렇게 하면 데이터베이스/마이그레이션 디렉터리에 2017_05_06_151645_create_links_table.php라는 파일이 생성됩니다. 이름 "2017_05_06_151645_"의 전반부는 Laravel이 추가한 타임스탬프입니다. "create_links_table.php"의 후반부는 테이블 이름입니다.
그런 다음 마이그레이션 클래스 2017_05_06_151645_create_links_table.php를 엽니다. 거기에는 up()과 down()이라는 두 가지 메소드가 있습니다. up() 메서드는 테이블을 생성하고 down() 메서드는 테이블을 삭제합니다.
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateLinksTable extends Migration { /** * 执行迁移 * * @return void */ public function up() { Schema::create('links', function (Blueprint $table){ $table->engine = 'MyISAM'; $table->increments('id'); $table->string('name')->default('')->comment('名称'); $table->string('title')->default('')->comment('标题'); $table->string('url')->default('')->comment('地址'); $table->integer('sort')->default(50)->comment('排序'); }); } /** * 回滚迁移 * * @return void */ public function down() { Schema::drop('links'); } } 2017_05_06_151645_create_links_table.php
Artisan 명령어 사용 php artisan migration
이제 데이터베이스에 마이그레이션을 기록하는 hd_links 테이블과 hd_migrations 테이블이 생성되었습니다. ("hd_"는 구성된 테이블 접두사입니다) :
참고: 마이그레이션 클래스를 수동으로 삭제하고 파일을 다시 생성할 수 없는 경우, Composer dump-autoload 명령을 사용하여 자동 로딩을 최적화하면 마이그레이션을 다시 생성할 수 있습니다.
는 데이터베이스의 테이블에 대한 일부 데이터를 채우는 테스트에 사용될 수 있습니다.
Artisan 명령을 사용하세요. php artisan make:seeder LinksTableSeeder
이렇게 하면 데이터베이스/seeds 디렉터리에 LinksTableSeeder.php라는 친숙한 링크 패딩 클래스가 생성됩니다.
그런 다음 이 LinksTableSeeder.php 파일을 열고 두 개의 테스트 레코드를 추가합니다.
<?php use Illuminate\Database\Seeder; class LinksTableSeeder extends Seeder { /** * 运行数据库填充 * * @return void */ public function run() { $data = [ [ 'name' => 'Laravel 中文社区', 'title' => 'Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 - Powered by PHPHub', 'url' => 'https://laravel-china.org/', 'sort' => '49' ], [ 'name' => 'GitHub', 'title' => 'GitHub is where people build software. More than 21 million people use...', 'url' => 'https://github.com', 'sort' => '49' ] ]; DB::table('links')->insert($data); } }
database/seeds 디렉토리에 있는 데이터베이스 채우기 클래스 DatabaseSeeder.php에서 run() 메서드 채우기를 호출합니다.
DatabaseSeeder.php 파일 콘텐츠:
<?php use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * 运行数据库填充 * * @return void */ public function run() { $this->call(LinksTableSeeder::class); } }
Artisan 명령 사용 php artisan db:seed
이제 데이터베이스의 hd_links 테이블에는 2개의 레코드가 있습니다.
위 내용은 Laravel5.2의 데이터베이스 마이그레이션 및 데이터 채우기 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!