James Cole
2025-10-25 11:50:34 +02:00
parent 535e5e4f50
commit 0bdb4f2e69

View File

@@ -11,34 +11,36 @@ return new class extends Migration
*/ */
public function up(): void public function up(): void
{ {
Schema::create('period_statistics', function (Blueprint $table) { if (!Schema::hasTable('period_statistics')) {
$table->id(); Schema::create('period_statistics', function (Blueprint $table) {
$table->timestamps(); $table->id();
$table->timestamps();
// reference to user group id. // reference to user group id.
$table->bigInteger('user_group_id', false, true); $table->bigInteger('user_group_id', false, true);
$table->integer('primary_statable_id', false, true)->nullable(); $table->integer('primary_statable_id', false, true)->nullable();
$table->string('primary_statable_type', 255)->nullable(); $table->string('primary_statable_type', 255)->nullable();
$table->integer('secondary_statable_id', false, true)->nullable(); $table->integer('secondary_statable_id', false, true)->nullable();
$table->string('secondary_statable_type', 255)->nullable(); $table->string('secondary_statable_type', 255)->nullable();
$table->integer('tertiary_statable_id', false, true)->nullable(); $table->integer('tertiary_statable_id', false, true)->nullable();
$table->string('tertiary_statable_type', 255)->nullable(); $table->string('tertiary_statable_type', 255)->nullable();
$table->integer('transaction_currency_id', false, true); $table->integer('transaction_currency_id', false, true);
$table->foreign('transaction_currency_id')->references('id')->on('transaction_currencies')->onDelete('cascade'); $table->foreign('transaction_currency_id')->references('id')->on('transaction_currencies')->onDelete('cascade');
$table->dateTime('start')->nullable(); $table->dateTime('start')->nullable();
$table->string('start_tz', 50)->nullable(); $table->string('start_tz', 50)->nullable();
$table->dateTime('end')->nullable(); $table->dateTime('end')->nullable();
$table->string('end_tz', 50)->nullable(); $table->string('end_tz', 50)->nullable();
$table->string('type',255); $table->string('type', 255);
$table->integer('count', false, true)->default(0); $table->integer('count', false, true)->default(0);
$table->decimal('amount', 32, 12); $table->decimal('amount', 32, 12);
$table->foreign('user_group_id')->references('id')->on('user_groups')->onDelete('cascade'); $table->foreign('user_group_id')->references('id')->on('user_groups')->onDelete('cascade');
}); });
}
} }
/** /**