afzalsabbir/backpack-devtools

为 backpack 定制的身份验证

v1.0.2 2022-06-02 03:12 UTC

This package is auto-updated.

Last update: 2024-09-30 01:23:21 UTC


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