added timestamp and fixed block for duplicate nota and timestamp

This commit is contained in:
Hafifie PKB
2024-09-17 17:05:00 +08:00
parent f4609f469e
commit e5b7244029
3 changed files with 98 additions and 3 deletions
@@ -0,0 +1,73 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
class AddColumnTimestampToAddtunaiTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
protected $db_connection;
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()
{
$this->db_connection = $this->getActiveDB();
foreach($this->db_connection as $dbase){
Schema::connection($dbase)->table('addtunai', function (Blueprint $table) use($dbase) {
$isCreatedAt = Schema::connection($dbase)->hasColumn('addtunai', 'created_at');
if (! $isCreatedAt) {
$table->timestamp('created_at');
}
});
}
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
$this->db_connection = $this->getActiveDB();
foreach($this->db_connection as $dbase){
$columns = ['created_at'];
$columns_exist = array_filter($columns,function($column) use($dbase){
return Schema::connection($dbase)->hasColumn('addtunai', $column);
});
Schema::connection($dbase)->table('addtunai', function(Blueprint $table) use($columns_exist){
foreach($columns_exist as $column){
$table->dropColumn($column);
}
});
}
}
}