table($name) ->addColumn('idschool', 'integer', [ 'signed' => false, 'null' => false, 'default' => 1, // TEMPORANEO: verrà rimosso quando tutte le INSERT passeranno idschool ]) ->addIndex(['idschool'], ['name' => "idx_{$name}_idschool"]) ->update(); } // Slug eventi: unico per scuola, non più globale $this->table('events') ->removeIndexByName('events_slug_unique') ->addIndex(['idschool', 'slug'], ['unique' => true, 'name' => 'events_school_slug_unique']) ->update(); // Impostazioni: una sola riga per scuola $this->table('option') ->addIndex(['idschool'], ['unique' => true, 'name' => 'option_idschool_unique']) ->update(); } public function down(): void { $this->table('option') ->removeIndexByName('option_idschool_unique') ->update(); $this->table('events') ->removeIndexByName('events_school_slug_unique') ->addIndex(['slug'], ['unique' => true, 'name' => 'events_slug_unique']) ->update(); foreach (self::TABLES as $name) { $this->table($name) ->removeIndexByName("idx_{$name}_idschool") ->removeColumn('idschool') ->update(); } } }