conn->transaction(function () { $version = $this->fetchSchemaVersion(); while (method_exists($this, "execute$version")) { $method = "execute$version"; // @phpstan-ignore-next-line $this->$method(); $this->conn ->query() ->insert('migrations') ->values([]) ->execute(); $version++; } }); } private function fetchSchemaVersion(): int { $this->conn->query()->schema(<<conn ->query() ->select('migrations') ->fields(['COALESCE(MAX(migration_id), 0) + 1 AS schema_version']) ->first() ->execute(); assert(isset($result['schema_version'])); return (int) $result['schema_version']; } /** * Create the initial schema. */ private function execute1(): void { $this->conn->query()->schema(<<conn->query()->schema(<<conn->query()->schema(<<conn->query()->schema(<<conn->query()->schema(<<conn->query()->schema(<<conn->query()->schema(<<conn->query()->schema(<<conn->query()->schema(<<conn->query()->schema(<<conn->query()->schema(<<conn->query()->schema(<<