<?php
/**
 * Database migration contract.
 *
 * @package ScheduledChanges
 */

namespace ScheduledChanges\Database;

/**
 * A bounded, idempotent schema migration.
 */
interface Migration {
	/**
	 * Migration target version.
	 */
	public function version(): int;

	/**
	 * Applies the migration.
	 *
	 * @param \wpdb $wpdb WordPress database connection.
	 */
	public function up( \wpdb $wpdb ): void;
}
