license: built full stack, test and documentation
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Vocabolario delle licenze applicabili a record (artifact/model) e media.
|
||||
*
|
||||
* - `spdx_id`: identificatore SPDX ufficiale, NULL per marchi e rights
|
||||
* statement (che non stanno nella SPDX License List) — mai inventarne.
|
||||
* - `uri`: URI canonico della licenza (creativecommons.org /
|
||||
* rightsstatements.org), usato anche nel JSON-LD Linked Art.
|
||||
* - `file`: nome del testo legale in LICENSES/media/ da includere nello
|
||||
* zip di download; NULL dove un testo non esiste (mark/statement).
|
||||
* - `for_record`/`for_media`: scope della licenza, filtrano le select dei
|
||||
* form (i record ammettono solo licenze aperte, i media tutte).
|
||||
* - `active`: disattivazione soft da parte degli admin senza rompere le
|
||||
* FK dei contenuti già licenziati.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('licenses', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name', 200)->unique();
|
||||
$table->string('acronym', 50)->unique();
|
||||
$table->string('spdx_id', 50)->nullable()->unique();
|
||||
$table->string('kind', 20)->default('license');
|
||||
$table->text('description')->nullable();
|
||||
$table->string('uri', 2000)->nullable();
|
||||
$table->string('file', 512)->nullable();
|
||||
$table->boolean('for_record')->default(false);
|
||||
$table->boolean('for_media')->default(true);
|
||||
$table->unsignedInteger('sort_order')->default(0);
|
||||
$table->boolean('active')->default(true);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('licenses');
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user