Laravel 迁移文件migrations 和 数据填充seeders
2023-02-19 12:20:08 时间
迁移文件 migration
#创建一个迁移
php artisan make:migration create_store_categories_table
#运行所有未完成的迁移
php artisan migrate
#如果要查看到目前为止已运行哪些迁移
php artisan migrate:status
#如果您希望查看迁移将执行的 SQL 语句而不实际运行它们
php artisan migrate --pretend
#某些迁移操作具有破坏性,这意味着它们可能会导致数据丢失。为了防止您对生产数据库运行这些命令,在执行命令之前,系统将提示您进行确认。若要强制命令在没有提示的情况下运行,请使用以下标志:
php artisan migrate --force
#要回滚最新的迁移操作,您可以使用rollback Artisan 命令。此命令回滚最后一批迁移,其中可能包括多个迁移文件:
php artisan migrate:rollback
#通过向rollback命令提供step选项,可以回滚有限数量的迁移。例如,以下命令将回滚最近5次迁移:
php artisan migrate:rollback --step=5
# migrate:reset命令将回滚应用程序的所有迁移:
php artisan migrate:reset
#refresh命令将回滚所有迁移,然后执行migrate命令。这个命令有效地重新创建您的整个数据库:
php artisan migrate:refresh
# 刷新数据库并运行所有数据库seeds...
php artisan migrate:refresh --seed
#通过向refresh命令提供step选项,可以回滚并重新迁移有限数量的迁移。例如,下面的命令将回滚并重新迁移最近的五次迁移:
php artisan migrate:refresh --step=5
#migrate:fresh命令将删除数据库中的所有表,然后执行migrate命令:
php artisan migrate:fresh
php artisan migrate:fresh --seed
#执行某个迁移/回滚某个迁移,官方是不支持的,只能采用特殊办法了
php artisan migrate --path=database/migrations/temp/
php artisan migrate:rollback --path=database/migrations/temp/
数据填充 seed
#创建一个seed,表名为users
php artisan make:seeder UsersTableSeeder
#再创建一个seed,表名为users2
php artisan make:seeder Users2TableSeeder
#执行一个seed
php artisan db:seed --class=UsersTableSeeder
#执行所有seed,会执行DatabaseSeeder.php
php artisan db:seed
#您还可以使用migrate:fresh命令和——seed选项来为数据库播种,这将删除所有的表并重新运行所有的迁移。此命令对于完全重新构建数据库非常有用。——seeder选项可用于指定要运行的特定种子
php artisan migrate:fresh --seed
php artisan migrate:fresh --seed --seeder=UserSeeder
#某些播种操作可能会导致您更改或丢失数据。为了防止对生产数据库运行播种命令,在生产环境中执行播种命令之前,将提示您进行确认。要强制种子程序在没有提示的情况下运行,使用——force标志
php artisan db:seed --force
cat database/seeders/DatabaseSeeder.php
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// \App\Models\User::factory(10)->create();
// $this->call(UsersTableSeeder::class);
// $this->call(Users2TableSeeder::class);
$this->call([
UsersTableSeeder::class,
Users2TableSeeder::class,
]);
}
}
参考
相关文章
- 学生数据库管理系统
- SpringDataJpa 用MySQL语句怎么分页,spring全家桶SpringDataJpa 用MySQL语句怎么分页
- Docker创建MySQL容器模板命令
- Elasticsearch对应MySQL的对应关系
- 使用SpringDataJpa保存(save)报错误:SQL Error: 1062, SQLState: 23000 控制台会报:Duplicate entry ‘数‘ for key ‘PRIMA
- Navicat Premium 连接sqlserver数据库时提示安装Client失败,解决方案
- Mysql查询当前用户所有数据库语句(SHOW DATABASES)
- MySQL语句-查看当前数据库有哪些表(SHOW TABLES)
- MySQL5.0版本以上新增的 information_schema 数据库是什么?
- MariaDB数据库备份之逻辑备份
- MariaDB数据库创建用户
- MariaDB数据库给用户授权
- MariaDB数据库刷新权限表命令
- MariaDB数据库删除用户命令
- PhpStudy 2016搭建-sqli-libs靶场
- MySQL手动注入步骤
- Pikachu靶场-SQL注入-数字型注入(post)过关步骤
- Pikachu靶场-SQL注入-字符型注入(get)过关步骤
- 利用SQL注入漏洞实现MySQL数据库读写文件
- Kali-工具-sqlmap常见用法