>  기사  >  PHP 프레임워크  >  laravel 8 마이그레이션 파일의 지식 포인트를 요약하고 정리합니다.

laravel 8 마이그레이션 파일의 지식 포인트를 요약하고 정리합니다.

WBOY
WBOY앞으로
2022-04-24 12:00:492471검색

이 기사에서는 마이그레이션 파일과 관련된 문제를 주로 소개하는 laravel에 대한 관련 지식을 제공합니다. 마이그레이션 파일은 실제로 데이터베이스와 관련된 버전 제어이므로 프로그램을 쉽게 정의하고 공유할 수 있습니다. 데이터 구조가 모든 사람에게 도움이 되기를 바랍니다.

laravel 8 마이그레이션 파일의 지식 포인트를 요약하고 정리합니다.

【관련 추천: laravel 동영상 튜토리얼

마이그레이션 파일이란 무엇인가요?

마이그레이션 파일은 실제로 데이터베이스와 관련된 버전 제어이므로 프로그램에서 일부 데이터 구조를 쉽게 정의하고 공유할 수 있습니다. 일반적으로 마이그레이션을 통해 데이터베이스의 데이터 구조를 쉽게 생성할 수 있습니다. 응용 프로그램. 로컬 데이터베이스 환경의 필드에 멤버를 추가한 경우 마이그레이션을 통해 해당 멤버에 대한 작업을 수행할 수 있습니다.
마이그레이션에는 두 가지 유형이 있는데, 하나는 마이그레이션을 생성하는 것이고, 다른 하나는 마이그레이션 파일을 작성하고 실행하는 것입니다.
laravel 8 마이그레이션 파일의 지식 포인트를 요약하고 정리합니다.
파일명 앞의 숫자는 시간文件名开头的数字是时间
我们点开看一下
laravel 8 마이그레이션 파일의 지식 포인트를 요약하고 정리합니다.
另外两个文件也大同小异,这些都是laravel 8 框架默认定义的一些表,如果我们在这里执行迁移文件的话,如果我们不需要用到这些表(user表、密码表、jobs表),最好删除它,不然我们在数据库里面可能会看到这三张表的存在!!!

创建迁移文件

创建一个 书表book
id 主键
b_name 书名
b_pirce 书的价格
b_num 书数量

artisan 脚手架命令:名字我们照着默认去编写 create_表名_table

php artisan make:migration  create_book_table

创建之后文件名字前面会自带时间

laravel 8 마이그레이션 파일의 지식 포인트를 요약하고 정리합니다.

increments(‘id’) 创建自增 id 的方法
comment(‘注释’)添加注释
string(‘字段名’ , ‘长度’) 创建字段 类型是string
integer(‘字段名’) 创建字段 类型是int
decimal(‘字段名’ [,长度,小数点后面几位精确度]) 专门用来存放小数的类型,默认8,2
$table->charset=‘utf8mb4’; 定义字符编码

<?phpuse  Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;use Illuminate\Support\Facades\Schema;class CreateBookTable extends Migration{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create(&#39;book&#39;, function (Blueprint $table) {
            $table->increments('id')->comment('主键');
            $table->string('b_name','32')->comment('书名');
            $table->decimal('b_price')->comment('书的价格');
            $table->integer('b_num')->comment('书的数量');
            $table->charset='utf8mb4';//定义字符编码
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('book');
    }}

执行迁移文件

用迁移文件之前我们还需要运行一个命令,也就是记录到我们每一次创建表的参数一张表,也就是migrations的表,方便以后我们创建表的时候去看到创建有哪些表是通过迁移文件创建的,我们需要记录这样一些东西。

php artisan migrate:install

我们在创建完这个表之后我们就可以在数据表里面看到我们迁移文件运行的编号,以及执行过迁移文件的名字。

运行完这个命令,数据库多了一张表:
laravel 8 마이그레이션 파일의 지식 포인트를 요약하고 정리합니다.

我们运行刚刚创建的文件名,看看是否有去记录到

php artisan migrate

laravel 8 마이그레이션 파일의 지식 포인트를 요약하고 정리합니다.

我们再刷新一下,看看book表
laravel 8 마이그레이션 파일의 지식 포인트를 요약하고 정리합니다.
执行单个迁移文件: --path=/database/migrations/文件名

>php artisan migrate --path=/database/migrations/2022_04_04_121049_create_book_table.php

回滚操作 / 删除这张表

php artisan migrate:rollback

回滚之后表就不能存在了,记录也没了,也清除了。

클릭해서 살펴볼까요

여기에 이미지 설명 삽입
다른 두 파일도 비슷합니다. laravel 8 프레임워크에서 기본적으로 정의한 일부 테이블입니다. 여기에서 마이그레이션 파일을 실행하면 그렇지 않으면 이 테이블(사용자 테이블, 비밀번호 테이블, 작업 테이블)을 사용해야 합니다.

삭제하는 것이 가장 좋습니다. 그렇지 않으면 다음에서 이 세 테이블의 존재를 볼 수 있습니다. 데이터베이스! ! !

마이그레이션 파일 만들기

책 테이블 만들기 book id 기본 키

b_name 책 제목 🎜 b_pirce 책 가격 🎜 b_num 책 수량 🎜🎜artisan scaffolding 명령: 이름은 기본값에 따라 create_table_table을 씁니다. 🎜
php artisan migrate:rollback --step=5
🎜생성 후 파일 이름 앞에 시간이 붙습니다🎜🎜여기에 이미지 설명 삽입🎜
🎜increments('id') 메소드를 사용하여 자동 증가 ID를 생성🎜 comment('comment')를 추가하여 comment🎜 string('필드 이름' , 'length') 필드를 생성하기 위한 타입은 string🎜 정수('필드명') 생성된 필드 타입은 int🎜 십진수('필드명' [, 길이, 소수점 이하 정밀도]) 입니다. 소수점 이하 자릿수 저장, 기본값은 8,2🎜 $table ->charset='utf8mb4'; 문자 인코딩 정의🎜🎜rrreee🎜마이그레이션 파일 실행🎜🎜마이그레이션 파일을 사용하기 전에 다음과 같은 명령을 실행해야 합니다. 우리가 생성한 각 테이블의 매개변수를 테이블에 기록하는 것, 즉 마이그레이션 테이블은 나중에 테이블을 생성할 때 마이그레이션 파일을 통해 어떤 테이블이 생성되었는지 확인하는 데 편리합니다. 🎜rrreee🎜이 테이블을 생성한 후에는 데이터 테이블에서 마이그레이션 파일의 실행 번호와 실행된 마이그레이션 파일의 이름을 볼 수 있습니다. 🎜🎜🎜이 명령을 실행하면 데이터베이스에 테이블이 하나 더 생깁니다: 🎜🎜여기에 이미지 설명 삽입🎜🎜녹화되었는지 확인하기 위해 방금 생성한 파일 이름을 실행합니다🎜rrreee🎜여기에 사진 설명 삽입🎜🎜다시 새로고침해서 책 테이블을 살펴보겠습니다🎜🎜 단일 마이그레이션 파일 실행: --path=/database/migrations/filename🎜rrreee🎜롤백 작업/삭제 테이블 🎜rrreee🎜은 롤백 후에 더 이상 존재하지 않으며, 기록도 사라지고 지워집니다. 🎜
🎜참고: 마이그레이션 파일을 실행한 후 쉽게 마이그레이션 파일 이름을 변경하지 마십시오. 그렇지 않으면 롤백이 불가능하고 이전에 생성된 마이그레이션 파일 이름을 찾을 수 없습니다. 🎜🎜🎜롤백🎜지정된 마이그레이션 수🎜: --step=처음 몇 개의 파일🎜rrreee🎜[관련 권장 사항: 🎜laravel 비디오 튜토리얼🎜]🎜

위 내용은 laravel 8 마이그레이션 파일의 지식 포인트를 요약하고 정리합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제