File "2016_03_04_091447_remove_updated_by_column.php"
Full Path: /home/isoftco/public_html/hrm/database/migrations/2016_03_04_091447_remove_updated_by_column.php
File size: 2.59 KB
MIME-type: text/x-php
Charset: utf-8
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class RemoveUpdatedByColumn extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
\DB::beginTransaction();
Schema::table("attendance", function(Blueprint $table) {
$table->unsignedInteger("last_updated_by")->nullable()->after("halfDayType");
$table->foreign("last_updated_by")
->references("id")
->on("admins")
->onUpdate("cascade")
->onDelete("cascade");
});
$attendances = \App\Models\Attendance::join("admins", "admins.email", "=", "attendance.updated_by")
->select(["admins.id as admin_id", DB::raw("attendance.*")])
->get();
foreach($attendances as $attendance) {
$attendance->last_updated_by = $attendance->admin_id;
$attendance->save();
}
Schema::table("attendance", function(Blueprint $table) {
$table->dropForeign("attendance_updated_by_foreign");
$table->dropIndex("attendance_updated_by_index");
});
Schema::table("attendance", function(Blueprint $table) {
$table->dropColumn("updated_by");
});
Schema::table("leave_applications", function(Blueprint $table) {
$table->unsignedInteger("last_updated_by")->nullable()->after("halfDayType");
$table->foreign("last_updated_by")
->references("id")
->on("admins")
->onUpdate("cascade")
->onDelete("cascade");
});
$leave_applications = \App\Models\LeaveApplication::join("admins", "admins.email", "=", "leave_applications.updated_by")
->select(["admins.id as admin_id", DB::raw("leave_applications.*")])
->get();
foreach($leave_applications as $leave_application) {
$leave_application->last_updated_by = $leave_application->admin_id;
$leave_application->save();
}
Schema::table("leave_applications", function(Blueprint $table) {
$table->dropForeign("leave_applications_updated_by_foreign");
$table->dropIndex("leave_applications_updated_by_index");
});
Schema::table("leave_applications", function(Blueprint $table) {
$table->dropColumn("updated_by");
});
\DB::commit();
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}