I'm assuming you're using a MySql database.
You can create a batch file, then calling the file using the task scheduler in Laravel.
inside your Laravel project in the App\Console\Kernel.php
file, add this line to the schedule function to run the command every year.
protected function schedule(Schedule $schedule)
{
$schedule->exec('/batch.bat')->yearly();
}
You need to create a scheduled task using the task scheduler if you have Windows, and if you have Linux (90% you have Linux especially if your project is running on the hosting server), then you should create a CRON job and place this script inside your script(according to Laravel documentation):
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Then create a batch.bat(Windows) or batch.sh(Linux) file inside your project folder, and place this content inside it:
mysql -u [USER-NAME] -p[PASSWORD] [YOUR-CURRENT-DATABASE-NAME] > /dumpfile.sql
CREATE DATABASE [NEW-DATABASE-NAME];
[NEW-DATABASE-NAME] < /dumpfile.sql
Don't wait and test it manually right away using the command:
php artisan schedule:run