> */ public const DEFINITIONS = [ DunIncoInfView::class, IncoLangView::class, VIncoArtSiteView::class, MetaUtilTable::class, ArticleRefTable::class, AssoIncoZoneVersioCcialTable::class, AssoIncoZoneVersioMktTable::class, AssoIncoZoneVersioQualTable::class, IncoTable::class, IncoCompoTable::class, IncoOrigininfoTable::class, IncoVersionTable::class, RuPersonneSirhTable::class, AdditifTable::class, ArticleAssoProduitsTable::class, ArticleRefGencodView::class, ArtRayonTable::class, AssoCommunesCpTable::class, CalibreOeufsTable::class, DunIncoView::class, DunIncoNosocView::class, EpurerFamVenteView::class, FamRgptTable::class, FamVenteTable::class, GroupementQualTable::class, IncoAllegationsTable::class, IncoAllergeneTable::class, IncoArticleView::class, IncoAssoAllergeneTable::class, IncoAssoTraceTable::class, IncoBriqueGpcTable::class, IncoCompoNutriscoreView::class, IncoDoaTable::class, IncoInterprofessionTable::class, IncoNeaTable::class, IncoSitProdTable::class, IncoSocRefIncoView::class, IncoSuiviEnvoiTable::class, InseeCommunesTable::class, MarqueTable::class, MediaAssoArticleTable::class, MutTable::class, NdpTable::class, OrgCertifTable::class, PaletteIncoTable::class, ServiceConsoIncoTable::class, SiteProdGrpTable::class, SitProdIncoView::class, SocDlcIncoView::class, SocieteInvTable::class, SousFamTable::class, TypeConditTable::class, TypeConservationTable::class, TypEmbTable::class, UtilisableTable::class, VisuelExportGenfiView::class, ]; public function __construct(private readonly string $connection) { } public function up(): void { $schema = Schema::connection($this->connection); foreach (self::DEFINITIONS as $definition) { $definition::up($schema); } } public function down(): void { $schema = Schema::connection($this->connection); foreach (array_reverse(self::DEFINITIONS) as $definition) { $definition::down($schema); } } public static function runUp(string $connection): void { (new self($connection))->up(); } public static function runDown(string $connection): void { (new self($connection))->down(); } }