Я новичок в создании пакета в laravel.Я сделал опросный пакет, а внутри пакета я создал следующую структуру каталогов:
Теперь я загрузил файлы от поставщика услуг какследует,
SurveyServiceProvider.php
<?php
namespace Survey;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
class SurveyServiceProvider extends ServiceProvider
{
public function boot()
{
Schema::defaultStringLength(191);
$this->loadRoutesFrom(__DIR__.'/routes/web.php');
$this->loadMigrationsFrom(__DIR__.'/./../publishables/database/migrations');
$this->loadViewsFrom(__DIR__.'/./../resources/views/','survey');
}
public function register()
{
$this->registerPublishables();
}
private function registerPublishables()
{
$basePath = dirname(__DIR__);
$arrPublishable = [
'migrations' => [
"$basePath/publishables/database/migrations" => database_path('migrations'),
"$basePath/publishables/config/survey.php" => config_path('survey.php'),
]
];
foreach ($arrPublishable as $group => $paths) {
$this->publishes($paths,$group);
}
}
}
Мой файл миграции создается после vendor:publish
команды
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateAuditsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('audits', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->boolean('is_published');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('audits');
}
}
Но, когда я выполняюphp artisan migrate
файл миграции аудита не выполнялся ни по какой причине.
Еще одна вещь, я уже выполнил composer dumpautoload
команду
Пожалуйста, спросите, хотите ли вы каких-либо подробностей.