<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
	/**
	 * Run the migrations.
	 *
	 * @return void
	 */
	public function up()
	{
		Schema::create('usage_broadband', function(Blueprint $table)
		{
			$table->id();
			$table->timestamps();
			$table->integer('site_id')->unsigned();

			$table->date('date');
			$table->time('time')->nullable();
			$table->string('service',128)->nullable();
			$table->integer('up_peak')->nullable();
			$table->integer('up_offpeak')->nullable();
			$table->integer('down_peak')->nullable();
			$table->integer('down_offpeak')->nullable();
			$table->integer('peer')->nullable();
			$table->integer('internal')->nullable();

			$table->integer('service_item_id')->nullable();
			$table->foreign(['service_item_id','site_id'])->references(['id','site_id'])->on('service_broadband');

			$table->integer('supplier_id');	// @todo To remove?
			$table->foreign(['supplier_id'])->references(['id'])->on('suppliers');

			$table->unique(['service_item_id','site_id','date','time']);
		});
	}


	/**
	 * Reverse the migrations.
	 *
	 * @return void
	 */
	public function down()
	{
		Schema::drop('usage_broadband');
	}
};