migration imbangdugabackup

This commit is contained in:
Hafifie PKB
2024-01-02 23:16:51 +08:00
parent 559c5d05ca
commit d8d251bf93
@@ -0,0 +1,77 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
class AddColumnUjrahToImbangdugabackupTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function getActiveDB(){
$config_db = array_keys(config("database.connections"));
$db_connection = array_filter($config_db,function($connection){
try{
if($connection == 'mysql7')
return false;
$db = DB::connection($connection)->getPdo();
return true;
} catch(\Exception $e){
return false;
}
});
return $db_connection;
}
public function up()
{
$db_connection = $this->getActiveDB();
foreach($db_connection as $dbase){
Schema::connection($dbase)->table('imbang_duga_backup', function (Blueprint $table) use($dbase) {
$isTunggakanUjrah = Schema::connection($dbase)->hasColumn('imbang_duga_backup', 'ujrah');
$isTunggakkanOnePercent = Schema::connection($dbase)->hasColumn('imbang_duga_backup', 'onepercent');
if (! $isTunggakanUjrah) {
$table->decimal('ujrah', 9, 2);
}
if (! $isTunggakkanOnePercent) {
$table->decimal('onepercent', 9, 2);
}
});
}
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
$db_connection = $this->getActiveDB();
foreach($db_connection as $dbase){
$columns = ['onepercent', 'ujrah'];
$columns_exist = array_filter($columns,function($column) use($dbase){
return Schema::connection($dbase)->hasColumn('imbang_duga_backup', $column);
});
Schema::connection($dbase)->table('imbang_duga_backup', function(Blueprint $table) use($columns_exist){
foreach($columns_exist as $column){
$table->dropColumn($column);
}
});
}
}
}