33namespace LaravelEnso \DataImport \app \Tables \Builders ;
44
55use Illuminate \Database \Eloquent \Builder ;
6+ use Illuminate \Support \Facades \DB ;
67use LaravelEnso \DataImport \app \Models \DataImport ;
78use LaravelEnso \DataImport \app \Models \RejectedImportSummary ;
89use LaravelEnso \Tables \app \Contracts \Table ;
@@ -13,11 +14,10 @@ class DataImportTable implements Table
1314
1415 public function query (): Builder
1516 {
16- return DataImport::selectRaw ('
17+ $ query = DataImport::selectRaw ('
1718 data_imports.id, data_imports.type, data_imports.status, data_imports.status as computedStatus,
1819 files.original_name as name, data_imports.successful, data_imports.failed, data_imports.created_at,
19- TIME(data_imports.created_at) as time, people.name as createdBy, rejected_imports.id as rejectedId,
20- sec_to_time(timestampdiff(second, data_imports.created_at, data_imports.updated_at)) as duration
20+ TIME(data_imports.created_at) as time, people.name as createdBy, rejected_imports.id as rejectedId
2121 ' )->join ('files ' , function ($ join ) {
2222 $ join ->on ('files.attachable_id ' , 'data_imports.id ' )
2323 ->where ('files.attachable_type ' , DataImport::class);
@@ -28,6 +28,10 @@ public function query(): Builder
2828 $ join ->on ('rejected_files.attachable_id ' , 'rejected_imports.id ' )
2929 ->where ('rejected_files.attachable_type ' , RejectedImportSummary::class);
3030 });
31+
32+ return $ query ->selectRaw (DB ::getDriverName () === 'sqlite '
33+ ? '0 as duration '
34+ : 'sec_to_time(timestampdiff(second, data_imports.created_at, data_imports.updated_at)) as duration ' );
3135 }
3236
3337 public function templatePath (): string
0 commit comments