id(); $table->uuid('uuid')->unique(); $table->foreignId('scenario_id')->constrained()->cascadeOnDelete(); $table->foreignId('bucket_id')->nullable()->constrained()->nullOnDelete(); $table->string('name'); $table->boolean('is_active')->default(true); $table->unsignedBigInteger('amount'); $table->enum('type', StreamTypeEnum::values()); $table->enum('frequency', StreamFrequencyEnum::values()); $table->date('start_date'); $table->date('end_date')->nullable(); $table->text('description')->nullable(); $table->timestamps(); $table->index(['scenario_id', 'is_active']); $table->index('start_date'); }); } public function down(): void { Schema::dropIfExists('streams'); } };