fdt2k/backpack-devtools

为 backpack 定制的身份验证

2.0.1 2022-04-26 11:43 UTC

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');
});