laravel 数据迁移 数据填充
程序员文章站
2022-05-18 14:59:14
...
3.1.1、生成与编写迁移
php artisan make:migration create_test_table --create=test
create_test_table 生成的文件后缀名称
--create=test 生成表名为test的数据表
编写迁移文件,创建字段和表
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateArtitleTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('article', function (Blueprint $table) {
$table->increments('id');
$table->string('title',200)->default('')->comment('标题');
$table->string('desn',500)->default('')->comment('描述');
$table->unsignedInteger('uid')->default(0)->comment('用户id');
$table->text('cnt')->comment('文章内容');
$table->timestamps();
});
/*Schema::create('cate', function (Blueprint $table) {
$table->increments('id');
$table->string('cname',200)->default('')->comment('标题');
$table->timestamps();
});*/
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
/**
* 如果表存在就删除
*/
Schema::dropIfExists('article');
// Schema::dropIfExists('cate');
}
}
3.1.2、执行数据迁移
php artisan migrate
# 直接执行迁移文件中的up方法
3.1.3、回滚迁移
回滚最后一次的迁移操作, 删除(回滚)之后会删除迁移记录,并且数据表也会删除,但是迁移文件依旧存在,方便后期继续迁移(创建数据表)。
php artisan migrate:rollback
# 直接执行迁移文件中的 down方法
回滚条件,根据数据表中的
根据此值来找迁移文件,然后执行迁移文件中的down方法
3.1.4、清除表后再执行迁移
php artisan migrate:refresh
# 先执行所有的迁移文件的down方法,再执行所有的迁移文件的up方法
3.1.5、小结
- 创建
php artisan make:migration 文件名 --create=表名
- 编写迁移文件 [见文档]
- 执行
php artisan migrate
- 回滚
php artisan migrate:rollback
- 清除表并重新执行迁移
php artisan migrate:refresh
3.2、数据填充
填充操作就是往数据表中写测试数据的操作。
3.2.1、创建和编写种子文件
php artisan make:seeder TestTableSeeder{种子文件的名,文件名}
编写种子文件代码
3.2.2、执行种子文件
# 执行指定种子的文件
php artisan db:seed --class=需要执行的种子文件名
# 执行全部的种子文件
php artisan db:seed 必须在DatabaseSeeder文件中定义好 call
# 删除表并执行迁移和种子文件
php artisan migrate:refresh --seed 必须在DatabaseSeeder文件中定义好 call
使用db:seed 执行不带参数
在DatabaseSeeder文件中run中的call方法定义我们的写的种子
这样就可以执行如下的两个命令
上一篇: apache虚拟主机
推荐阅读
-
关于Oracle数据库迁移(跨版本)以及空表不导出
-
用perl做数据库迁移,从MSSQL到MYSQL(-)大概思路_MySQL
-
SqlServer数据库迁移
-
mysql 数据迁移有关问题,所有的.frm文件报错·
-
Code First Migrations更新数据库结构(数据迁移)
-
将Mysql数据库迁移到Windows Azure上的SQL database中
-
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
-
Laravel如何使用数据库事务及捕获事务失败后的异常详解
-
Laravel 5框架学习之向视图传送数据_php实例
-
iReport(模版) 与Jasper(数据填充)生成pdf文档