added accounting failing handles
This commit is contained in:
@@ -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
|
||||
{
|
||||
// ستون را حذف نمیکنیم — ممکن است داده داشته باشد
|
||||
}
|
||||
};
|
||||
@@ -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;
|
||||
Reference in New Issue
Block a user