# sequra/4.0.0/src/Repositories/Migrations/class-migration.php

seQura, version 4.0.0. 44 lines.

- Page: https://pluginprobe.com/plugins/sequra/4.0.0/code/src/Repositories/Migrations/class-migration.php
- Raw: https://pluginprobe.com/plugins/sequra/4.0.0/raw/src/Repositories/Migrations/class-migration.php
- Modified: 2025-10-21T08:30:24+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/sequra/4.0.0/code/src/Repositories/Migrations/class-migration.php#L10-L20`.

```php
<?php
/**
 * Database migration interface
 *
 * @package    SeQura/WC
 * @subpackage SeQura/WC/Repositories/Migrations
 */

namespace SeQura\WC\Repositories\Migrations;

/**
 * Database migration interface
 */
abstract class Migration {

	/**
	 * Database session object.
	 *
	 * @var \wpdb
	 */
	protected $db;

	/**
	 * Constructor
	 *
	 * @param \wpdb $wpdb Database instance.
	 */
	public function __construct( \wpdb $wpdb ) {
		$this->db = $wpdb;
	}

	/**
	 * Get the plugin version when the changes were made.
	 */
	abstract public function get_version(): string;

	/**
	 * Run the migration.
	 * 
	 * @throws \Throwable
	 */
	abstract public function run(): void;
}

```
