创建数据表
# 创建home数据表
# --create=tablename 表明该迁移是用来创建表。
php artisan make:migration create_home_table --create=home
# 对home数据表进行操作(编辑)
# --table=tablename 表明该迁移是用来对 tablename这张表进行操作。
php artisan make:migration update_home_table --table=home
# 对编辑好的数据表文件执行
php artisan migrate
# 对数据库的操作回滚
php artisan migrate:rollback
# 删除并重新迁移
php artisan migrate:fresh
数据迁移数据表
public function up()
{
Schema::create('home', function (Blueprint $table) {
$table->bigIncrements('id')->comment('品牌ID');
$table->string('name',50)->comment('品牌名称');
$table->string('country',50)->comment('品牌国家');
$table->string('hotline',50)->comment('热线');
$table->char('indexs', 1)->index()->comment('索引首字母');
$table->timestamps();
});
DB::statement("ALTER TABLE `home` comment '品牌表'");
DB::statement("ALTER TABLE `home` ENGINE=InnoDB");
}
public function down()
{
Schema::dropIfExists('home');
Schema::rename('home','name');//重命名在--table=home时可用
}
Seeder 自动填充数据
- 制做一个模型
php artisan make:model Models\Home
# 文件 Models/Home.php
//表示对应于表goods
protected $table = 'home';
- 创建一个seed
php artisan make:seeder HomeTableSeeder
# 文件 database/seeds/
public function run()
{
# 条数在这设置
factory(App\Models\Home::class)->times(10)->create();
}
# 文件 database/seeds/DatabaseSeeder
public function run()
{
$this->call(HomeTableSeeder::class);
}
- 创建一个factories
php artisan make:factory HomeFactory
# 文件 database/factories/HomeFactory
use App\Models\Home;
use Faker\Generator as Faker;
$factory->define(Home::class, function (Faker $faker) {
return [
'name' => $faker->name,
'describe' => $faker->text,
];
});
$faker用户详见github 搜索 laravel faker
php artisan migrate:fresh --seed
# 执行数据填充
php artisan db:seed
# 单独执行一个数据填充类
php artisan db:seed --class=GoodsTableSeeder