27 Commits

Author SHA1 Message Date
9a7b42dea5 Update .github/workflows/gemini-pr-review.yaml
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 9s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 16s
Laravel Pint / pint (pull_request) Successful in 2m33s
Laravel Larastan / larastan (pull_request) Failing after 3m38s
2026-01-13 09:18:16 +00:00
0ce59ebe22 Merge pull request 'changed time in scheduler for invoice in transit' (#178) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Reviewed-on: #178
2026-01-08 04:26:24 +00:00
dhanabalan
053c07bcfb changed time in scheduler for invoice in transit
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 12s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 10s
Gemini PR Review / review (pull_request) Failing after 37s
Laravel Pint / pint (pull_request) Successful in 2m15s
Laravel Larastan / larastan (pull_request) Failing after 3m20s
2026-01-08 09:56:12 +05:30
c032cdc58d Merge pull request 'changed time in invoice in transit' (#177) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 14s
Reviewed-on: #177
2026-01-07 04:59:13 +00:00
dhanabalan
b09ed3481a changed time in invoice in transit
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 10s
Gemini PR Review / review (pull_request) Failing after 23s
Laravel Pint / pint (pull_request) Successful in 2m40s
Laravel Larastan / larastan (pull_request) Failing after 3m38s
2026-01-07 10:29:01 +05:30
4074374614 Merge pull request 'Added logic for columns missing invoice in transit' (#176) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 17s
Reviewed-on: #176
2026-01-07 03:59:10 +00:00
dhanabalan
c2d840d772 Added logic for columns missing invoice in transit
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 10s
Gemini PR Review / review (pull_request) Failing after 42s
Laravel Pint / pint (pull_request) Successful in 2m37s
Laravel Larastan / larastan (pull_request) Failing after 3m49s
2026-01-07 09:28:57 +05:30
15712c44b6 Merge pull request 'changed report time for invoice in transit' (#175) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Reviewed-on: #175
2026-01-07 02:52:28 +00:00
dhanabalan
119262405c changed report time for invoice in transit
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 12s
Gemini PR Review / review (pull_request) Failing after 33s
Laravel Pint / pint (pull_request) Successful in 2m5s
Laravel Larastan / larastan (pull_request) Failing after 3m11s
2026-01-07 08:21:52 +05:30
99f7450e5e Merge pull request 'changed logic in testing temp resource page' (#174) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 13s
Reviewed-on: #174
2026-01-06 13:48:37 +00:00
dhanabalan
84748c5e3d changed logic in testing temp resource page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Gemini PR Review / review (pull_request) Failing after 23s
Laravel Pint / pint (pull_request) Successful in 3m49s
Laravel Larastan / larastan (pull_request) Failing after 4m51s
2026-01-06 19:18:22 +05:30
f6f6f0924e Merge pull request 'Added testing temp policy file' (#173) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 13s
Reviewed-on: #173
2026-01-06 13:28:27 +00:00
dhanabalan
4ec781b942 Added testing temp policy file
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Gemini PR Review / review (pull_request) Failing after 26s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Laravel Pint / pint (pull_request) Successful in 2m33s
Laravel Larastan / larastan (pull_request) Failing after 3m35s
2026-01-06 18:58:16 +05:30
3bab0310a1 Merge pull request 'Added testing temp resource files' (#172) from ranjith-dev into master
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Reviewed-on: #172
2026-01-06 13:26:55 +00:00
dhanabalan
f0f7bffe74 Added testing temp resource files
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / review (pull_request) Failing after 28s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 15s
Laravel Pint / pint (pull_request) Successful in 2m25s
Laravel Larastan / larastan (pull_request) Failing after 3m26s
2026-01-06 18:56:45 +05:30
6924990ace Merge pull request 'Added testing temp model file' (#171) from ranjith-dev into master
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Reviewed-on: #171
2026-01-06 13:25:41 +00:00
dhanabalan
40889f8802 Added testing temp model file
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / review (pull_request) Failing after 30s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 15s
Laravel Pint / pint (pull_request) Successful in 2m9s
Laravel Larastan / larastan (pull_request) Failing after 3m28s
2026-01-06 18:55:30 +05:30
ba0b2c2709 Merge pull request 'Added Testing temp migration file' (#170) from ranjith-dev into master
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Reviewed-on: #170
2026-01-06 13:24:52 +00:00
dhanabalan
62272df783 Added Testing temp migration file
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 12s
Gemini PR Review / review (pull_request) Failing after 26s
Laravel Pint / pint (pull_request) Successful in 2m19s
Laravel Larastan / larastan (pull_request) Failing after 3m24s
2026-01-06 18:54:39 +05:30
51416cdf37 Merge pull request 'Added 10 am for mauil trigger invoice in transit' (#169) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 14s
Reviewed-on: #169
2026-01-06 12:25:35 +00:00
dhanabalan
53d55555d8 Added 10 am for mauil trigger invoice in transit
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 19s
Gemini PR Review / review (pull_request) Failing after 22m14s
Laravel Larastan / larastan (pull_request) Failing after 27m34s
Laravel Pint / pint (pull_request) Successful in 7m16s
2026-01-06 17:54:50 +05:30
a8ff5b5120 Merge pull request 'modified logic for proper pending days in invoice in transit' (#168) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Reviewed-on: #168
2026-01-06 07:16:55 +00:00
dhanabalan
8c0a404665 modified logic for proper pending days in invoice in transit
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Gemini PR Review / review (pull_request) Failing after 25s
Laravel Larastan / larastan (pull_request) Failing after 3m19s
Laravel Pint / pint (pull_request) Successful in 3m28s
2026-01-06 12:46:41 +05:30
4ca965ccb1 Merge pull request 'chnaged time for invoice in transit' (#167) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 10s
Reviewed-on: #167
2026-01-06 06:36:03 +00:00
dhanabalan
def447e12b chnaged time for invoice in transit
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 10s
Gemini PR Review / review (pull_request) Failing after 31s
Laravel Pint / pint (pull_request) Successful in 3m31s
Laravel Larastan / larastan (pull_request) Failing after 13m46s
2026-01-06 12:05:52 +05:30
22cbb6c4d3 Merge pull request 'changed time for invoice transit' (#166) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Reviewed-on: #166
2026-01-06 04:28:11 +00:00
dhanabalan
f0b80554d2 changed time for invoice transit
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 12s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Gemini PR Review / review (pull_request) Failing after 26s
Laravel Pint / pint (pull_request) Successful in 2m35s
Laravel Larastan / larastan (pull_request) Failing after 3m26s
2026-01-06 09:57:58 +05:30
12 changed files with 529 additions and 13 deletions

View File

@@ -5,15 +5,20 @@ name: Gemini PR Review
on:
pull_request:
types: [opened, reopened, synchronize]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
review:
gemini-pr-review:
runs-on: ubuntu-latest
name: Gemini PR Review
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0 # This fetches the full history
@@ -22,7 +27,6 @@ jobs:
with:
node-version: '24'
- name: Get npm cache directory
id: npm-cache-dir
run: |
@@ -36,8 +40,14 @@ jobs:
restore-keys: |
${{ runner.os }}-npm-global-
# - name: Install Gemini CLI globally
# run: npm install -g --loglevel=http @google/gemini-cli
- name: Install Gemini CLI globally (if not already installed)
run: |
if ! command -v gemini &> /dev/null; then
echo "Gemini CLI not found, installing..."
npm install -g --loglevel=http @google/gemini-cli
else
echo "Gemini CLI already installed."
fi
- name: Generate git diff and review with Gemini
id: review
@@ -52,7 +62,6 @@ jobs:
cat /tmp/gemini-client-error*.json || true
- name: Post output to PR comment
id: post_comment
run: |

View File

@@ -220,7 +220,6 @@ class Scheduler extends Command
}
}
/**
* Helper to call Artisan commands with parameters.
*/

View File

@@ -67,14 +67,21 @@ class SendInvoiceTransitReport extends Command
'im.id as invoice_master_id',
'im.transport_name',
DB::raw('CAST(im.transit_days AS INTEGER) as transit_days'),
DB::raw('(CURRENT_DATE - CAST(it.lr_bl_aw_date AS DATE)) as delayed_days')
// DB::raw('(CURRENT_DATE - CAST(it.lr_bl_aw_date AS DATE)) as delayed_days')
DB::raw('
GREATEST(
0,
(CURRENT_DATE - CAST(it.lr_bl_aw_date AS DATE) - 1)
- CAST(im.transit_days AS INTEGER)
) AS delayed_days
')
)
->when($plantId != 0, fn($q) => $q->where('it.plant_id', $plantId))
->whereNotNull('it.lr_bl_aw_date')
// ->whereRaw(
// '(CURRENT_DATE - CAST(it.lr_bl_aw_date AS DATE)) >= CAST(im.transit_days AS INTEGER)'
// )
->whereRaw('(CURRENT_DATE - CAST(it.lr_bl_aw_date AS DATE) + 1) >= CAST(im.transit_days AS INTEGER)')
->whereRaw('
(CURRENT_DATE - CAST(it.lr_bl_aw_date AS DATE))
- CAST(im.transit_days AS INTEGER) > 0
')
->get();

View File

@@ -454,6 +454,22 @@ class InvoiceInTransitResource extends Resource
return;
}
$mandatoryColumns = 23;
$firstRow = $rows[0] ?? [];
if (count($firstRow) < $mandatoryColumns) {
Notification::make()
->title('Invalid Excel Format')
->body('Few columns not found. Columns A to W are mandatory.')
->danger()
->persistent()
->send();
return;
}
foreach ($rows as $index => $row)
{
if ($index == 0) {

View File

@@ -0,0 +1,252 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\TestingTempResource\Pages;
use App\Filament\Resources\TestingTempResource\RelationManagers;
use App\Models\TestingTemp;
use Filament\Facades\Filament;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\Actions\Action;
use Filament\Notifications\Notification;
use Storage;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
class TestingTempResource extends Resource
{
protected static ?string $model = TestingTemp::class;
protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('name')
->label('File Name'),
Forms\Components\Select::make('selected_file')
->label('Select Uploaded File')
->options(function () {
return collect(Storage::disk('local')->files('uploads'))
->mapWithKeys(function ($file) {
return [
$file => basename($file), // value => label
];
})
->toArray();
})
->searchable()
->reactive(),
Forms\Components\FileUpload::make('attachment')
->label('Upload')
// ->acceptedFileTypes(['application/pdf'])
->storeFiles(false)
->disk('local')
->directory('uploads/temp')
->preserveFilenames()
->reactive(),
Forms\Components\Actions::make([
Action::make('uploadNow')
->label('File Upload')
->color('success')
->action(function ($get) {
$uploadedFiles = $get('attachment');
if (is_array($uploadedFiles) && count($uploadedFiles) > 0) {
$uploaded = reset($uploadedFiles);
if ($uploaded instanceof TemporaryUploadedFile) {
$baseName = $get('name');
$extension = $uploaded->getClientOriginalExtension();
$finalFileName = $baseName . '.' . $extension;
$uploaded->storeAs(
'uploads',
$finalFileName,
'local'
);
Notification::make()
->title("File uploaded successfully: {$finalFileName}")
->success()
->send();
}
} else {
Notification::make()
->title('No file selected to upload')
->warning()
->send();
}
}),
// Action::make('downloadAttachment')
// ->label('Download File')
// ->action(function ($get) {
// $fileName = basename($get('selected_file'));
// //dd($fileName);
// // if (!$fileName) {
// // Notification::make()
// // ->title('Enter file name to download')
// // ->danger()
// // ->send();
// // return;
// // }
// $files = Storage::disk('local')->files('uploads');
// foreach ($files as $file) {
// if (pathinfo($file, PATHINFO_FILENAME) === $fileName) {
// dd($fileName);
// Notification::make()
// ->title("File downloaded successfully")
// ->success()
// ->send();
// return response()->download(
// Storage::disk('local')->path($file)
// );
// }
// }
// // Notification::make()
// // ->title('File not found')
// // ->danger()
// // ->send();
// }),
Action::make('downloadAttachment')
->label('Download File')
->action(function ($get) {
$filePath = $get('selected_file'); // uploads/filename.pdf
if (!$filePath || !Storage::disk('local')->exists($filePath)) {
Notification::make()
->title('File not found')
->danger()
->send();
return;
}
Notification::make()
->title('File downloaded successfully')
->success()
->send();
return response()->download(
Storage::disk('local')->path($filePath)
);
}),
Action::make('deleteAttachment')
->label('Delete File')
->color('danger')
->requiresConfirmation()
->action(function ($get) {
$filePath = $get('selected_file'); // uploads/filename.pdf
if (!$filePath || !Storage::disk('local')->exists($filePath)) {
Notification::make()
->title('File not found')
->danger()
->send();
return;
}
Storage::disk('local')->delete($filePath);
Notification::make()
->title('File deleted successfully')
->success()
->send();
}),
]),
Forms\Components\Hidden::make('created_by')
->label('Created By')
->default(Filament::auth()->user()?->name),
Forms\Components\Hidden::make('updated_by')
->label('Updated By')
->default(Filament::auth()->user()?->name),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('id')
->label('ID')
->numeric()
->sortable(),
Tables\Columns\TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
])
->filters([
Tables\Filters\TrashedFilter::make(),
])
->actions([
Tables\Actions\ViewAction::make(),
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
Tables\Actions\ForceDeleteBulkAction::make(),
Tables\Actions\RestoreBulkAction::make(),
]),
]);
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListTestingTemps::route('/'),
'create' => Pages\CreateTestingTemp::route('/create'),
'view' => Pages\ViewTestingTemp::route('/{record}'),
'edit' => Pages\EditTestingTemp::route('/{record}/edit'),
];
}
public static function getEloquentQuery(): Builder
{
return parent::getEloquentQuery()
->withoutGlobalScopes([
SoftDeletingScope::class,
]);
}
}

View File

@@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\TestingTempResource\Pages;
use App\Filament\Resources\TestingTempResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateTestingTemp extends CreateRecord
{
protected static string $resource = TestingTempResource::class;
}

View File

@@ -0,0 +1,22 @@
<?php
namespace App\Filament\Resources\TestingTempResource\Pages;
use App\Filament\Resources\TestingTempResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditTestingTemp extends EditRecord
{
protected static string $resource = TestingTempResource::class;
protected function getHeaderActions(): array
{
return [
Actions\ViewAction::make(),
Actions\DeleteAction::make(),
Actions\ForceDeleteAction::make(),
Actions\RestoreAction::make(),
];
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\TestingTempResource\Pages;
use App\Filament\Resources\TestingTempResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
class ListTestingTemps extends ListRecords
{
protected static string $resource = TestingTempResource::class;
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\TestingTempResource\Pages;
use App\Filament\Resources\TestingTempResource;
use Filament\Actions;
use Filament\Resources\Pages\ViewRecord;
class ViewTestingTemp extends ViewRecord
{
protected static string $resource = TestingTempResource::class;
protected function getHeaderActions(): array
{
return [
Actions\EditAction::make(),
];
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class TestingTemp extends Model
{
use SoftDeletes;
protected $fillable = [
'name',
'created_at',
'updated_at',
'created_by',
'updated_by',
];
}

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\TestingTemp;
use App\Models\User;
class TestingTempPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any TestingTemp');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, TestingTemp $testingtemp): bool
{
return $user->checkPermissionTo('view TestingTemp');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create TestingTemp');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, TestingTemp $testingtemp): bool
{
return $user->checkPermissionTo('update TestingTemp');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, TestingTemp $testingtemp): bool
{
return $user->checkPermissionTo('delete TestingTemp');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any TestingTemp');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, TestingTemp $testingtemp): bool
{
return $user->checkPermissionTo('restore TestingTemp');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any TestingTemp');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, TestingTemp $testingtemp): bool
{
return $user->checkPermissionTo('replicate TestingTemp');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder TestingTemp');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, TestingTemp $testingtemp): bool
{
return $user->checkPermissionTo('force-delete TestingTemp');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any TestingTemp');
}
}

View File

@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
$sql = <<<'SQL'
CREATE TABLE testing_temps (
id BIGINT GENERATED always AS IDENTITY PRIMARY KEY,
name TEXT DEFAULT NULL,
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
created_by TEXT DEFAULT NULL,
updated_by TEXT DEFAULT NULL,
deleted_at TIMESTAMP
);
SQL;
DB::statement($sql);
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('testing_temps');
}
};