From 12d1aa31aba7e3e05d14b53f031a2da3c294a93c Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 19 Nov 2024 16:55:32 +0100 Subject: [PATCH] [jOOQ/jOOQ#9506] More work on Migrations API: - Support a commit author --- .../migrations/jgit/GitCommitProvider.java | 10 ++-- jOOQ/src/main/java/org/jooq/Commit.java | 24 ++++++++++ jOOQ/src/main/java/org/jooq/Node.java | 6 +++ .../java/org/jooq/conf/MigrationSchema.java | 6 ++- .../main/java/org/jooq/impl/AbstractNode.java | 13 ++++- .../main/java/org/jooq/impl/CommitImpl.java | 47 +++++++++++++++---- .../main/java/org/jooq/impl/CommitsImpl.java | 4 +- .../java/org/jooq/impl/MigrationsImpl.java | 2 +- .../main/java/org/jooq/impl/VersionImpl.java | 2 +- .../jooq/migrations/xml/jaxb/CommitType.java | 34 ++++++++++++-- .../jooq/migrations/xml/jaxb/FileType.java | 4 +- .../migrations/xml/jaxb/MigrationsType.java | 4 +- .../migrations/xml/jaxb/ObjectFactory.java | 4 +- .../jooq/migrations/xml/jaxb/ParentType.java | 2 +- .../org/jooq/migrations/xml/jaxb/TagType.java | 2 +- .../migrations/xml/jaxb/package-info.java | 2 +- ...-3.19.0.xsd => jooq-migrations-3.20.0.xsd} | 5 +- 17 files changed, 135 insertions(+), 36 deletions(-) rename jOOQ/src/main/resources/org/jooq/xsd/{jooq-migrations-3.19.0.xsd => jooq-migrations-3.20.0.xsd} (92%) diff --git a/jOOQ-migrations/src/main/java/org/jooq/migrations/jgit/GitCommitProvider.java b/jOOQ-migrations/src/main/java/org/jooq/migrations/jgit/GitCommitProvider.java index 1743181baa..5d8add5930 100644 --- a/jOOQ-migrations/src/main/java/org/jooq/migrations/jgit/GitCommitProvider.java +++ b/jOOQ-migrations/src/main/java/org/jooq/migrations/jgit/GitCommitProvider.java @@ -138,7 +138,7 @@ public final class GitCommitProvider implements CommitProvider { // The commits seem to come in reverse order from jgit. Collections.reverse(revCommits); - Commit init = commits.root(); + Commit root = commits.root(); // TODO: This algorithm is quadradic in the worst case. Can we find a better one? // TODO: We collect all the commits from git, when we could ignore the empty ones @@ -150,7 +150,7 @@ public final class GitCommitProvider implements CommitProvider { RevCommit revCommit = it.next(); if (revCommit.getParents() == null || revCommit.getParents().length == 0) { - commits.add(tag(tags, init.commit(revCommit.getName(), revCommit.getFullMessage(), editFiles(r, revCommit)))); + commits.add(tag(tags, root.commit(revCommit.getName(), revCommit.getFullMessage(), revCommit.getAuthorIdent().getName(), editFiles(r, revCommit)))); it.remove(); } else { @@ -165,9 +165,9 @@ public final class GitCommitProvider implements CommitProvider { continue commitLoop; if (parents.length == 1) - commits.add(tag(tags, parents[0].commit(revCommit.getName(), revCommit.getFullMessage(), editFiles(r, revCommit)))); + commits.add(tag(tags, parents[0].commit(revCommit.getName(), revCommit.getFullMessage(), revCommit.getAuthorIdent().getName(), editFiles(r, revCommit)))); else if (parents.length == 2) - commits.add(tag(tags, parents[0].merge(revCommit.getName(), revCommit.getFullMessage(), parents[1], editFiles(r, revCommit)))); + commits.add(tag(tags, parents[0].merge(revCommit.getName(), revCommit.getFullMessage(), revCommit.getAuthorIdent().getName(), parents[1], editFiles(r, revCommit)))); else throw new UnsupportedOperationException("Merging more than two parents not yet supported"); @@ -178,7 +178,7 @@ public final class GitCommitProvider implements CommitProvider { Status status = g.status().call(); if (status.hasUncommittedChanges() || !status.getUntracked().isEmpty()) - commits.add(commit(last != null ? commits.get(last.getName()) : init, status)); + commits.add(commit(last != null ? commits.get(last.getName()) : root, status)); } catch (Exception e) { throw new GitException("Error while providing git versions", e); diff --git a/jOOQ/src/main/java/org/jooq/Commit.java b/jOOQ/src/main/java/org/jooq/Commit.java index 285f934c01..046fe114e0 100644 --- a/jOOQ/src/main/java/org/jooq/Commit.java +++ b/jOOQ/src/main/java/org/jooq/Commit.java @@ -130,6 +130,18 @@ public interface Commit extends Node { @NotNull Commit commit(String id, String message, Collection delta); + /** + * Create a new commit on top of this one. + */ + @NotNull + Commit commit(String id, String message, String author, File... delta); + + /** + * Create a new commit on top of this one. + */ + @NotNull + Commit commit(String id, String message, String author, Collection delta); + /** * Merge two commits. */ @@ -153,4 +165,16 @@ public interface Commit extends Node { */ @NotNull Commit merge(String id, String message, Commit with, Collection delta); + + /** + * Merge two commits. + */ + @NotNull + Commit merge(String id, String message, String author, Commit with, File... delta); + + /** + * Merge two commits. + */ + @NotNull + Commit merge(String id, String message, String author, Commit with, Collection delta); } diff --git a/jOOQ/src/main/java/org/jooq/Node.java b/jOOQ/src/main/java/org/jooq/Node.java index 8944aaaf22..576ffe0e93 100644 --- a/jOOQ/src/main/java/org/jooq/Node.java +++ b/jOOQ/src/main/java/org/jooq/Node.java @@ -71,6 +71,12 @@ public interface Node> extends Scope { @Nullable String message(); + /** + * The author of this node. + */ + @Nullable + String author(); + /** * The root node of the graph. */ diff --git a/jOOQ/src/main/java/org/jooq/conf/MigrationSchema.java b/jOOQ/src/main/java/org/jooq/conf/MigrationSchema.java index b099a01abe..3c0b63441c 100644 --- a/jOOQ/src/main/java/org/jooq/conf/MigrationSchema.java +++ b/jOOQ/src/main/java/org/jooq/conf/MigrationSchema.java @@ -2,12 +2,14 @@ package org.jooq.conf; import java.io.Serializable; + +import org.jooq.util.jaxb.tools.XMLAppendable; +import org.jooq.util.jaxb.tools.XMLBuilder; + import jakarta.xml.bind.annotation.XmlAccessType; import jakarta.xml.bind.annotation.XmlAccessorType; import jakarta.xml.bind.annotation.XmlElement; import jakarta.xml.bind.annotation.XmlType; -import org.jooq.util.jaxb.tools.XMLAppendable; -import org.jooq.util.jaxb.tools.XMLBuilder; /** diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractNode.java b/jOOQ/src/main/java/org/jooq/impl/AbstractNode.java index 8ba82021f2..cb448c1403 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractNode.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractNode.java @@ -48,6 +48,8 @@ import org.jooq.Node; import org.jooq.exception.DataDefinitionException; import org.jooq.exception.DataMigrationVerificationException; +import org.jetbrains.annotations.Nullable; + /** * @author Lukas Eder */ @@ -55,15 +57,17 @@ abstract class AbstractNode> extends AbstractLazyScope impleme final N root; final String id; - String message; + final String message; + final String author; @SuppressWarnings("unchecked") - AbstractNode(Configuration configuration, String id, String message, N root) { + AbstractNode(Configuration configuration, String id, String message, String author, N root) { super(configuration); this.root = root != null ? root : (N) this; this.id = id; this.message = defaultIfNull(message, ""); + this.author = author; } @Override @@ -76,6 +80,11 @@ abstract class AbstractNode> extends AbstractLazyScope impleme return message; } + @Override + public final String author() { + return author; + } + @Override public final N root() { return root; diff --git a/jOOQ/src/main/java/org/jooq/impl/CommitImpl.java b/jOOQ/src/main/java/org/jooq/impl/CommitImpl.java index 17fa0886bf..5809215163 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CommitImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CommitImpl.java @@ -83,8 +83,16 @@ final class CommitImpl extends AbstractNode implements Commit { final Map delta; final Map files; - CommitImpl(Configuration configuration, String id, String message, Commit root, List parents, Collection delta) { - super(configuration, id, message, root); + CommitImpl( + Configuration configuration, + String id, + String message, + String author, + Commit root, + List parents, + Collection delta + ) { + super(configuration, id, message, author, root); if (Node.ROOT.equals(id) && root != null) throw new DataMigrationVerificationException("Cannot use reserved ID \"root\""); @@ -97,7 +105,7 @@ final class CommitImpl extends AbstractNode implements Commit { } private CommitImpl(CommitImpl copy) { - super(copy.configuration(), copy.id(), copy.message(), copy.root); + super(copy.configuration(), copy.id(), copy.message(), copy.author(), copy.root); this.ctx = copy.ctx; this.parents = copy.parents; @@ -189,12 +197,22 @@ final class CommitImpl extends AbstractNode implements Commit { @Override public final Commit commit(String newId, String newMessage, File... newFiles) { - return commit(newId, newMessage, Arrays.asList(newFiles)); + return commit(newId, newMessage, null, Arrays.asList(newFiles)); } @Override public final Commit commit(String newId, String newMessage, Collection newFiles) { - return new CommitImpl(configuration(), newId, newMessage, root, Arrays.asList(this), newFiles); + return commit(newId, newMessage, null, newFiles); + } + + @Override + public final Commit commit(String newId, String newMessage, String newAuthor, File... newFiles) { + return commit(newId, newMessage, newAuthor, Arrays.asList(newFiles)); + } + + @Override + public final Commit commit(String newId, String newMessage, String newAuthor, Collection newFiles) { + return new CommitImpl(configuration(), newId, newMessage, newAuthor, root, Arrays.asList(this), newFiles); } @Override @@ -209,12 +227,22 @@ final class CommitImpl extends AbstractNode implements Commit { @Override public final Commit merge(String newId, String newMessage, Commit with, File... newFiles) { - return merge(newId, newMessage, with, Arrays.asList(newFiles)); + return merge(newId, newMessage, null, with, Arrays.asList(newFiles)); } @Override public final Commit merge(String newId, String newMessage, Commit with, Collection newFiles) { - return new CommitImpl(configuration(), newId, newMessage, root, Arrays.asList(this, with), newFiles); + return merge(newId, newMessage, null, with, newFiles); + } + + @Override + public final Commit merge(String newId, String newMessage, String newAuthor, Commit with, File... newFiles) { + return merge(newId, newMessage, newAuthor, with, Arrays.asList(newFiles)); + } + + @Override + public final Commit merge(String newId, String newMessage, String newAuthor, Commit with, Collection newFiles) { + return new CommitImpl(configuration(), newId, newMessage, newAuthor, root, Arrays.asList(this, with), newFiles); } @Override @@ -450,8 +478,11 @@ final class CommitImpl extends AbstractNode implements Commit { if (!isBlank(message())) sb.append(" - ").append(message()); + if (!isBlank(author())) + sb.append(", author: " + author()); + if (!tags.isEmpty()) - sb.append(' ').append(tags); + sb.append(", tags: ").append(tags); return sb.toString(); } diff --git a/jOOQ/src/main/java/org/jooq/impl/CommitsImpl.java b/jOOQ/src/main/java/org/jooq/impl/CommitsImpl.java index 2eb06aa8c2..af20c9d48d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CommitsImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CommitsImpl.java @@ -383,8 +383,8 @@ final class CommitsImpl implements Commits { } result = p2 == null - ? p1.commit(commit.getId(), commit.getMessage(), files(commit)) - : p1.merge(commit.getId(), commit.getMessage(), p2, files(commit)); + ? p1.commit(commit.getId(), commit.getMessage(), commit.getAuthor(), files(commit)) + : p1.merge(commit.getId(), commit.getMessage(), commit.getAuthor(), p2, files(commit)); for (TagType tag : commit.getTags()) result = result.tag(tag.getId(), tag.getMessage()); diff --git a/jOOQ/src/main/java/org/jooq/impl/MigrationsImpl.java b/jOOQ/src/main/java/org/jooq/impl/MigrationsImpl.java index 0fc3172b42..887fdbd225 100644 --- a/jOOQ/src/main/java/org/jooq/impl/MigrationsImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/MigrationsImpl.java @@ -76,7 +76,7 @@ final class MigrationsImpl extends AbstractScope implements Migrations { @Override public final Commits commits() { - return new CommitsImpl(configuration(), new CommitImpl(configuration(), ROOT, ROOT, null, emptyList(), emptyList())); + return new CommitsImpl(configuration(), new CommitImpl(configuration(), ROOT, null, null, null, emptyList(), emptyList())); } @Override diff --git a/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java b/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java index 6820b5577c..1e36ff6571 100644 --- a/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java @@ -72,7 +72,7 @@ final class VersionImpl extends AbstractNode implements Version { final List parents; private VersionImpl(Configuration configuration, String id, Meta meta, Version root, List parents) { - super(configuration, id, null, root); + super(configuration, id, null, null, root); this.ctx = configuration.dsl(); this.meta = meta != null ? meta : init(ctx); diff --git a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/CommitType.java b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/CommitType.java index 897907630a..6f1a1cd2a1 100644 --- a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/CommitType.java +++ b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/CommitType.java @@ -24,11 +24,12 @@ import org.jooq.util.jaxb.tools.XMLBuilder; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <all> - * <element name="parents" type="{http://www.jooq.org/xsd/jooq-migrations-3.19.0.xsd}ParentsType" minOccurs="0"/> + * <element name="parents" type="{http://www.jooq.org/xsd/jooq-migrations-3.20.0.xsd}ParentsType" minOccurs="0"/> * <element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="message" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> - * <element name="tags" type="{http://www.jooq.org/xsd/jooq-migrations-3.19.0.xsd}TagsType" minOccurs="0"/> - * <element name="files" type="{http://www.jooq.org/xsd/jooq-migrations-3.19.0.xsd}FilesType" minOccurs="0"/> + * <element name="author" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="tags" type="{http://www.jooq.org/xsd/jooq-migrations-3.20.0.xsd}TagsType" minOccurs="0"/> + * <element name="files" type="{http://www.jooq.org/xsd/jooq-migrations-3.20.0.xsd}FilesType" minOccurs="0"/> * </all> * </restriction> * </complexContent> @@ -47,10 +48,11 @@ import org.jooq.util.jaxb.tools.XMLBuilder; public class CommitType implements Serializable, XMLAppendable { - private final static long serialVersionUID = 31900L; + private final static long serialVersionUID = 32000L; @XmlElement(required = true) protected String id; protected String message; + protected String author; @XmlElementWrapper(name = "parents") @XmlElement(name = "parent") protected List parents; @@ -77,6 +79,14 @@ public class CommitType implements Serializable, XMLAppendable this.message = value; } + public String getAuthor() { + return author; + } + + public void setAuthor(String value) { + this.author = value; + } + public List getParents() { if (parents == null) { parents = new ArrayList(); @@ -120,6 +130,11 @@ public class CommitType implements Serializable, XMLAppendable return this; } + public CommitType withAuthor(String value) { + setAuthor(value); + return this; + } + public CommitType withParents(ParentType... values) { if (values!= null) { for (ParentType value: values) { @@ -187,6 +202,7 @@ public class CommitType implements Serializable, XMLAppendable public final void appendTo(XMLBuilder builder) { builder.append("id", id); builder.append("message", message); + builder.append("author", author); builder.append("parents", "parent", parents); builder.append("tags", "tag", tags); builder.append("files", "file", files); @@ -229,6 +245,15 @@ public class CommitType implements Serializable, XMLAppendable return false; } } + if (author == null) { + if (other.author!= null) { + return false; + } + } else { + if (!author.equals(other.author)) { + return false; + } + } if (parents == null) { if (other.parents!= null) { return false; @@ -265,6 +290,7 @@ public class CommitType implements Serializable, XMLAppendable int result = 1; result = ((prime*result)+((id == null)? 0 :id.hashCode())); result = ((prime*result)+((message == null)? 0 :message.hashCode())); + result = ((prime*result)+((author == null)? 0 :author.hashCode())); result = ((prime*result)+((parents == null)? 0 :parents.hashCode())); result = ((prime*result)+((tags == null)? 0 :tags.hashCode())); result = ((prime*result)+((files == null)? 0 :files.hashCode())); diff --git a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/FileType.java b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/FileType.java index 54af81d5e4..b283fca1bc 100644 --- a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/FileType.java +++ b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/FileType.java @@ -27,7 +27,7 @@ import org.jooq.util.jaxb.tools.XMLBuilder; * <element name="path" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="content" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="contentType" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> - * <element name="change" type="{http://www.jooq.org/xsd/jooq-migrations-3.19.0.xsd}ChangeType"/> + * <element name="change" type="{http://www.jooq.org/xsd/jooq-migrations-3.20.0.xsd}ChangeType"/> * </all> * </restriction> * </complexContent> @@ -46,7 +46,7 @@ import org.jooq.util.jaxb.tools.XMLBuilder; public class FileType implements Serializable, XMLAppendable { - private final static long serialVersionUID = 31900L; + private final static long serialVersionUID = 32000L; @XmlElement(required = true) protected String path; protected String content; diff --git a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/MigrationsType.java b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/MigrationsType.java index b019a8d065..f6bc66cc56 100644 --- a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/MigrationsType.java +++ b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/MigrationsType.java @@ -24,7 +24,7 @@ import org.jooq.util.jaxb.tools.XMLBuilder; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <all> - * <element name="commits" type="{http://www.jooq.org/xsd/jooq-migrations-3.19.0.xsd}CommitsType" minOccurs="0"/> + * <element name="commits" type="{http://www.jooq.org/xsd/jooq-migrations-3.20.0.xsd}CommitsType" minOccurs="0"/> * </all> * </restriction> * </complexContent> @@ -43,7 +43,7 @@ import org.jooq.util.jaxb.tools.XMLBuilder; public class MigrationsType implements Serializable, XMLAppendable { - private final static long serialVersionUID = 31900L; + private final static long serialVersionUID = 32000L; @XmlElementWrapper(name = "commits") @XmlElement(name = "commit") protected List commits; diff --git a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/ObjectFactory.java b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/ObjectFactory.java index 5d9bedbed8..3ad4b74427 100644 --- a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/ObjectFactory.java +++ b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/ObjectFactory.java @@ -24,7 +24,7 @@ import javax.xml.namespace.QName; @XmlRegistry public class ObjectFactory { - private final static QName _Migrations_QNAME = new QName("http://www.jooq.org/xsd/jooq-migrations-3.19.0.xsd", "migrations"); + private final static QName _Migrations_QNAME = new QName("http://www.jooq.org/xsd/jooq-migrations-3.20.0.xsd", "migrations"); /** * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.jooq.migrations.xml.jaxb @@ -81,7 +81,7 @@ public class ObjectFactory { * @return * the new instance of {@link JAXBElement }{@code <}{@link MigrationsType }{@code >} */ - @XmlElementDecl(namespace = "http://www.jooq.org/xsd/jooq-migrations-3.19.0.xsd", name = "migrations") + @XmlElementDecl(namespace = "http://www.jooq.org/xsd/jooq-migrations-3.20.0.xsd", name = "migrations") public JAXBElement createMigrations(MigrationsType value) { return new JAXBElement(_Migrations_QNAME, MigrationsType.class, null, value); } diff --git a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/ParentType.java b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/ParentType.java index d451a016a4..ac1064211b 100644 --- a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/ParentType.java +++ b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/ParentType.java @@ -39,7 +39,7 @@ import org.jooq.util.jaxb.tools.XMLBuilder; public class ParentType implements Serializable, XMLAppendable { - private final static long serialVersionUID = 31900L; + private final static long serialVersionUID = 32000L; @XmlElement(required = true) protected String id; diff --git a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/TagType.java b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/TagType.java index 7751713155..c667c73252 100644 --- a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/TagType.java +++ b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/TagType.java @@ -40,7 +40,7 @@ import org.jooq.util.jaxb.tools.XMLBuilder; public class TagType implements Serializable, XMLAppendable { - private final static long serialVersionUID = 31900L; + private final static long serialVersionUID = 32000L; @XmlElement(required = true) protected String id; protected String message; diff --git a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/package-info.java b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/package-info.java index e61b29ee13..d3e3211a78 100644 --- a/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/package-info.java +++ b/jOOQ/src/main/java/org/jooq/migrations/xml/jaxb/package-info.java @@ -1,2 +1,2 @@ -@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://www.jooq.org/xsd/jooq-migrations-3.19.0.xsd", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) +@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://www.jooq.org/xsd/jooq-migrations-3.20.0.xsd", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) package org.jooq.migrations.xml.jaxb; diff --git a/jOOQ/src/main/resources/org/jooq/xsd/jooq-migrations-3.19.0.xsd b/jOOQ/src/main/resources/org/jooq/xsd/jooq-migrations-3.20.0.xsd similarity index 92% rename from jOOQ/src/main/resources/org/jooq/xsd/jooq-migrations-3.19.0.xsd rename to jOOQ/src/main/resources/org/jooq/xsd/jooq-migrations-3.20.0.xsd index 0ccf74b288..65367a28ae 100644 --- a/jOOQ/src/main/resources/org/jooq/xsd/jooq-migrations-3.19.0.xsd +++ b/jOOQ/src/main/resources/org/jooq/xsd/jooq-migrations-3.20.0.xsd @@ -1,7 +1,7 @@ @@ -23,6 +23,7 @@ +