fdt2k / backpack-devtools
为 backpack 定制的身份验证
2.0.1
2022-04-26 11:43 UTC
Requires
- backpack/generators: *
- fdt2k/laravel-package-service-provider: dev-master || dev-master-2 || 1 - 2
- laravel-shift/blueprint: ^2.1
README
关于
我们的开发工具帮助您快速迭代模型,无需太多麻烦
这通过以下几个方面实现
提供一个独特的命令行,执行所有操作
sail artisan kda:backpack:migrate
提供一个在不破坏更改的情况下重新生成模型的方法(wip)
提供一个自动保存和恢复种子到 sql 文件的方法,并具有历史记录
提供一个轻松编写生成差异迁移的方法(wip)
安装
sail composer require fdt2k/backpack-devtools --prefer-source
蓝图安装
可选
sail artisan vendor:publish --tag=blueprint-config
配置蓝图
编辑 config/blueprint.php
设置
'models_namespace' => 'BaseModels',
或任何其他命名空间。
然后替换 config/blueprint.php 中的模型迁移生成器为我们自己的
'migration' => \KDA\Backpack\BlueprintMigrationGenerator::class,
在 config/blueprint.php 中
模型命名空间
如果您将命名空间更改为 BaseModels 之外的其他名称,您将需要配置 devtools
sail artisan vendor:publish --provider="KDA\Backpack\DevtoolsServiceProvider" --tag="config"
然后更改 config/kda/backpack/devtools.php 中的配置
'blueprint' => [
'source'=> 'BaseModels',
]
自动播种配置
自动播种
自动播种有助于开发过程中,通过自动转储指定的表并在迁移后恢复它们。
只需将表放入设置中
'seeds'=>[
'sidebars',
'users',
'user_custom_lists',
],
无需 Seeders
默认情况下,您无需担心任何问题,kda:backpack:migrate 将自动使用 sql 转储重新播种
有 Seeders
通过设置禁用迁移时的自动恢复
'should_restore_seeds'=> false,
然后创建一个类似于这样的 seeder
<?php
namespace Database\Seeders;
class SidebarSeeder extends \KDA\Backpack\Database\Seeders\HistoryFileSeeder
{
protected $history = 'sidebars';
}
使用任何其他 Seeder 请注意,自动播种仅适用于 mysql,因为我比较懒惰
工厂命名空间
默认情况下,laravel-shift/blueprint 删除工厂,所以我们只需添加
use Illuminate\Database\Eloquent\Factories\Factory;
...
Factory::guessFactoryNamesUsing(function (string $modelName) {
return 'Database\Factories\\Real\\'.class_basename($modelName).'Factory';
});
到 app/Providers/AppServiceProvider.php
$this->app->singleton(\Faker\Generator::class, function () {
return \Faker\Factory::create('fr_CH');
});