afzalsabbir / backpack-devtools
为 backpack 定制的身份验证
v1.0.2
2022-06-02 03:12 UTC
Requires
- afzalsabbir/generators: *
- fdt2k/laravel-package-service-provider: dev-master || ^1.0
- laravel-shift/blueprint: ^2.1
README
关于
我们的 devtools 有助于快速迭代模型而无需太多麻烦
这是通过以下几个要点实现的
-
提供一条独特的命令行,执行所有操作
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',
],
无种子
默认情况下,您无需担心任何事情,kda:backpack:migrate 将自动使用 sql 导出重新播种
有种子
通过设置禁用迁移时的自动恢复
'should_restore_seeds'=> false,
然后创建一个类似这样的种子
<?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');
});