迁移文件其实就是相对数据库的一个版本控制,让我们去能够轻松的定义和共享程序里面的一些数据结构,通常是配合到我们数据库的一个结构,迁移可以轻松生成应用程序的数据结构。如果我们有一个成员在本地的数据库环境里面去添加到一个字段的时候,我们就可以通过迁移去给他进行操作。
迁移分为两种,一种是创建迁移,以及编写还有一个执行迁移文件。文件名开头的数字是时间
我们点开看一下
另外两个文件也大同小异,这些都是laravel 8 框架默认定义的一些表,如果我们在这里执行迁移文件的话,如果我们不需要用到这些表(user表、密码表、jobs表),最好
去删除它,不然我们在数据库里面可能会看到这三张表的存在!!!
创建一个 书表book
id 主键
b_name 书名
b_pirce 书的价格
b_num 书数量
artisan 脚手架命令:名字我们照着默认去编写 create_表名_table
php artisan make:migration create_book_table
创建之后文件名字前面会自带时间
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('book', 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
我们在创建完这个表之后我们就可以在数据表里面看到我们迁移文件运行的编号,以及执行过迁移文件的名字。
运行完这个命令,数据库多了一张表:
我们运行刚刚创建的文件名,看看是否有去记录到
php artisan migrate
我们再刷新一下,看看book表
执行单个迁移文件: --path=/database/migrations/文件名
>php artisan migrate --path=/database/migrations/2022_04_04_121049_create_book_table.php
php artisan migrate:rollback
回滚之后表就不能存在了,记录也没了,也清除了。
注
:我们在执行迁移文件之后不要轻易去改迁移文件名字,否则回滚不回来了,找不到之前创建的迁移文件的名字。
回滚指定数量的迁移: --step=前几个文件
php artisan migrate:rollback --step=5
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理