2 namespace MediaWiki\Tests\Storage
;
4 use Wikimedia\Rdbms\IMaintainableDatabase
;
5 use MediaWiki\DB\PatchFileLocation
;
8 * Trait providing schema overrides that allow tests to run against the pre-MCR database schema.
10 trait PreMcrSchemaOverride
{
12 use PatchFileLocation
;
13 use McrSchemaDetection
;
18 protected function getMcrMigrationStage() {
25 protected function getMcrTablesToReset() {
32 protected function getSchemaOverrides( IMaintainableDatabase
$db ) {
40 if ( $this->hasMcrTables( $db ) ) {
41 $overrides['drop'] = [ 'slots', 'content', 'slot_roles', 'content_models', ];
42 $overrides['scripts'][] = $this->getSqlPatchPath( $db, '/drop-mcr-tables', __DIR__
);
45 if ( !$this->hasPreMcrFields( $db ) ) {
46 $overrides['alter'][] = 'revision';
47 $overrides['scripts'][] = $this->getSqlPatchPath( $db, '/create-pre-mcr-fields', __DIR__
);