added accounting failing handles

This commit is contained in:
2026-08-27 16:16:20 +03:30
parent 93834c9f40
commit 6b5b490e2b
9 changed files with 959 additions and 0 deletions
@@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
/**
* عیار محصول برای نمایش در مشخصات اپ مشتری (اختیاری).
* idempotent.
*/
return new class extends Migration
{
public function up(): void
{
if (! Schema::hasTable('products') || Schema::hasColumn('products', 'karat')) {
return;
}
DB::statement(
'ALTER TABLE `products` ADD COLUMN `karat` VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL'
);
}
public function down(): void
{
// ستون را حذف نمی‌کنیم — ممکن است داده داشته باشد
}
};
+22
View File
@@ -0,0 +1,22 @@
-- عیار محصول (اختیاری) — idempotent
-- اجرا روی DB tenant در صورت نیاز دستی
SET @db := DATABASE();
SET @has_karat := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db
AND TABLE_NAME = 'products'
AND COLUMN_NAME = 'karat'
);
SET @sql := IF(
@has_karat = 0,
'ALTER TABLE `products` ADD COLUMN `karat` VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;