BF migration publishing

This commit is contained in:
a6a2f5842 2025-11-21 14:38:22 +01:00
parent 4d0d354feb
commit bfc6e729f5
1 changed files with 16 additions and 6 deletions

View File

@ -24,14 +24,9 @@ class ShopServiceProvider extends ServiceProvider
// Publish migrations
$this->publishes([
__DIR__ . '/../database/migrations' => database_path('migrations'),
__DIR__ . '/../database/migrations/create_blax_shop_tables.php.stub' => $this->getMigrationFileName('create_blax_shop_tables.php'),
], 'shop-migrations');
// Load migrations
if ($this->app->runningInConsole()) {
$this->loadMigrationsFrom(__DIR__ . '/../database/migrations');
}
// Load routes if enabled (API only)
if (config('shop.routes.enabled', true)) {
$this->loadRoutesFrom(__DIR__ . '/../routes/api.php');
@ -52,4 +47,19 @@ class ShopServiceProvider extends ServiceProvider
]);
}
}
/**
* Returns existing migration file if found, else uses the current timestamp.
*/
protected function getMigrationFileName(string $migrationFileName): string
{
$timestamp = date('Y_m_d_His');
$filesystem = $this->app->make(\Illuminate\Filesystem\Filesystem::class);
return \Illuminate\Support\Collection::make([$this->app->databasePath() . DIRECTORY_SEPARATOR . 'migrations' . DIRECTORY_SEPARATOR])
->flatMap(fn($path) => $filesystem->glob($path . '*_' . $migrationFileName))
->push($this->app->databasePath() . "/migrations/{$timestamp}_{$migrationFileName}")
->first();
}
}