Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<p align="center">
<a href="https://laravel.com">
<img alt="Laravel v11.x" src="https://img.shields.io/badge/Laravel-v11.x-FF2D20">
<img alt="Laravel v12.x" src="https://img.shields.io/badge/Laravel-v12.x-FF2D20">
</a>
<a href="https://github.com/laravelcm/laravel.cm/actions">
<img src="https://github.com/laravelcm/laravel.cm/workflows/Tests/badge.svg" alt="Build Status" />
Expand All @@ -31,7 +31,7 @@ Vous pouvez rejoindre la communauté ou nous suivre via nos différentes platefo
- [Twitter](https://twitter.com/laravelcm)
- [Facebook](https://www.facebook.com/laravelcm)

## Sponsors
## Sponsors 💰

Nous tenons à remercier ces **entreprises extraordinaires** pour leur parrainage. Si vous souhaitez devenir sponsor, veuillez visiter <a href="https://laravel.cm/sponsors">la page Laravel.cm de Sponsoring</a>.

Expand All @@ -40,16 +40,16 @@ Nous tenons à remercier ces **entreprises extraordinaires** pour leur parrainag
- [NotchPay](https://notchpay.co?utm_source=laravel.cm)
- [LN UI](https://ui.lndev.me?utm_source=laravel.cm)

## Caractéristiques Serveur
## Caractéristiques Serveur 📝

Les dépendances suivantes sont nécessaires pour démarrer l'installation.

- PHP >= 8.2
- [php](https://www.php.net/docs.php) version 8.4 minimum
- [Docker](https://docs.docker.com/get-docker/) et [Docker Compose](https://docs.docker.com/compose/install/)
- [Composer](https://getcomposer.org/download/)
- [Yarn](https://yarnpkg.com/getting-started/install)
- [Valet](https://laravel.com/docs/valet#installation) or [Herd](https://herd.laravel.com)
- [Laravel server requirements](https://laravel.com/docs/deployment#server-requirements)

## Installation
## Installation 🚀

> Notez que vous êtes libre d'ajuster l'emplacement `~/Sites/laravel.cm` à n'importe quel répertoire de votre choix sur votre machine. Ce faisant, assurez-vous d'exécuter la commande `valet link` (si vous utilisez Laravel Valet) dans le répertoire souhaité.

Expand Down
56 changes: 30 additions & 26 deletions app-modules/database-migration/composer.json
Original file line number Diff line number Diff line change
@@ -1,29 +1,33 @@
{
"name": "laravelcm/database-migration",
"description": "Module laravelcm/database-migration for Laravel.cm - Migration tools from MySQL to PostgreSQL with SSH tunnel support",
"type": "library",
"version": "1.0.0",
"license": "proprietary",
"require": {
"php": "^8.4"
},
"require-dev": {
"pestphp/pest": "^3.8",
"pestphp/pest-plugin-laravel": "^3.0"
},
"autoload": {
"psr-4": {
"Laravelcm\\DatabaseMigration\\": "src/",
"Laravelcm\\DatabaseMigration\\Database\\Factories\\": "database/factories/",
"Laravelcm\\DatabaseMigration\\Database\\Seeders\\": "database/seeders/"
}
},
"minimum-stability": "stable",
"extra": {
"laravel": {
"providers": [
"Laravelcm\\DatabaseMigration\\Providers\\DatabaseMigrationServiceProvider"
]
}
"name": "laravelcm/database-migration",
"description": "Module laravelcm/database-migration for Laravel.cm - Migration tools from MySQL to PostgreSQL with SSH tunnel support",
"type": "library",
"version": "1.0.0",
"license": "proprietary",
"require": {
"php": "^8.4",
"Illuminate/Support": "^11.0|^12.0"
},
"require-dev": {
"pestphp/pest": "^3.8",
"pestphp/pest-plugin-laravel": "^3.0"
},
"autoload": {
"psr-4": {
"Laravelcm\\DatabaseMigration\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Laravelcm\\DatabaseMigration\\Tests\\": "tests/"
}
},
"minimum-stability": "stable",
"extra": {
"laravel": {
"providers": [
"Laravelcm\\DatabaseMigration\\Providers\\DatabaseMigrationServiceProvider"
]
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace Laravelcm\DatabaseMigration\Console\Commands;
namespace Laravelcm\DatabaseMigration\Commands;

use Illuminate\Console\Command;
use Laravelcm\DatabaseMigration\Services\DatabaseMigrationService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace Laravelcm\DatabaseMigration\Console\Commands;
namespace Laravelcm\DatabaseMigration\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\File;
Expand All @@ -11,7 +11,7 @@

final class MigrateFilesToS3Command extends Command
{
protected $signature = 'files:migrate-to-s3
protected $signature = 'lcm:migrate-files-to-s3
{--target-disk=s3 : Target S3 disk name}
{--dry-run : Show what would be migrated without actually doing it}
{--chunk=100 : Number of files to process per chunk}';
Expand All @@ -28,7 +28,9 @@ public function handle(): int
{
$this->info('🚀 Starting file migration to S3...');

$targetDisk = (string) $this->option('target-disk');
/** @var string $targetDisk */
$targetDisk = $this->option('target-disk');
/** @var bool $isDryRun */
$isDryRun = $this->option('dry-run');
/** @var int<1, max> $chunkSize */
$chunkSize = max(1, (int) $this->option('chunk'));
Expand All @@ -47,6 +49,7 @@ public function handle(): int

foreach ($sourceDirs as $sourceDir) {
$this->info("📁 Processing directory: {$sourceDir['path']}");

$this->migrateDirectory($sourceDir, $targetDisk, $chunkSize, $isDryRun);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace Laravelcm\DatabaseMigration\Console\Commands;
namespace Laravelcm\DatabaseMigration\Commands;

use Illuminate\Console\Command;
use Laravelcm\DatabaseMigration\Exceptions\SshTunnelException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
namespace Laravelcm\DatabaseMigration\Providers;

use Illuminate\Support\ServiceProvider;
use Laravelcm\DatabaseMigration\Console\Commands\MigrateDatabaseCommand;
use Laravelcm\DatabaseMigration\Console\Commands\SshTunnelCommand;
use Laravelcm\DatabaseMigration\Commands\MigrateDatabaseCommand;
use Laravelcm\DatabaseMigration\Commands\MigrateFilesToS3Command;
use Laravelcm\DatabaseMigration\Commands\SshTunnelCommand;
use Laravelcm\DatabaseMigration\Services\DatabaseMigrationService;
use Laravelcm\DatabaseMigration\Services\SshTunnelService;

Expand All @@ -29,6 +30,7 @@ public function boot(): void
$this->commands([
SshTunnelCommand::class,
MigrateDatabaseCommand::class,
MigrateFilesToS3Command::class,
]);

$this->publishes([
Expand Down
Loading