2026-08-26 15:22:00 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
namespace Database\ArcadiaReplicate;
|
|
|
|
|
|
|
|
|
|
use Illuminate\Database\Schema\Builder;
|
2026-08-31 11:13:34 +02:00
|
|
|
use Illuminate\Database\Connection;
|
2026-08-26 15:22:00 +02:00
|
|
|
|
|
|
|
|
interface TableOrView
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Nom du schéma propriétaire Oracle (ex: 'REFP', 'METAP', 'GCP').
|
|
|
|
|
*/
|
|
|
|
|
public static function schemaName(): string;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Nom physique de la table ou vue (ex: 'INCO', 'INCO_COMPO', 'META_UTIL').
|
|
|
|
|
*/
|
|
|
|
|
public static function name(): string;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Indique s'il s'agit d'une vue ou d'une table réelle.
|
|
|
|
|
*/
|
|
|
|
|
public static function isView(): bool;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Description métier du rôle de l'objet dans le SI Arcadia.
|
|
|
|
|
*/
|
|
|
|
|
public static function description(): string;
|
|
|
|
|
|
2026-08-31 11:13:34 +02:00
|
|
|
/**
|
|
|
|
|
* Nom complet qualifié de la table (ex: 'REFP.INCO' sous Oracle, 'INCO' sous SQLite/MySQL).
|
|
|
|
|
*/
|
|
|
|
|
public static function table(?Connection $connection = null): string;
|
|
|
|
|
|
2026-08-26 15:22:00 +02:00
|
|
|
/**
|
|
|
|
|
* Création de la structure miroir (colonnes, clés, types et commentaires).
|
|
|
|
|
*/
|
|
|
|
|
public static function up(Builder $schema): void;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Suppression de la table ou vue.
|
|
|
|
|
*/
|
|
|
|
|
public static function down(Builder $schema): void;
|
|
|
|
|
}
|