id(); $table->string('token', 16)->unique(); $table->string('password')->nullable(); $table->text('encryption_key')->nullable(); $table->string('encryption_salt')->nullable(); $table->timestamp('expires_at')->nullable(); $table->unsignedInteger('max_downloads')->nullable(); $table->unsignedInteger('download_count')->default(0); $table->unsignedBigInteger('total_size')->default(0); $table->timestamps(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('shares'); } };