cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAY-2021) cdbimport: detect when same FK constraint is defined twice
Date Fri, 07 Apr 2017 13:06:41 GMT

    [ https://issues.apache.org/jira/browse/CAY-2021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15960761#comment-15960761
] 

ASF GitHub Bot commented on CAY-2021:
-------------------------------------

GitHub user nismooooooo opened a pull request:

    https://github.com/apache/cayenne/pull/187

    CAY-2021 cdbimport: detect when same FK constraint is defined twice

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/nismooooooo/cayenne CAY-2021

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cayenne/pull/187.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #187
    
----
commit 21832ffa9db0e31dee077399a8257168c43aa596
Author: Anton Dreka <drekoas@gmail.com>
Date:   2017-04-07T13:03:07Z

    CAY-2021 cdbimport: detect when same FK constraint is defined twice

----


> cdbimport: detect when same FK constraint is defined twice
> ----------------------------------------------------------
>
>                 Key: CAY-2021
>                 URL: https://issues.apache.org/jira/browse/CAY-2021
>             Project: Cayenne
>          Issue Type: Improvement
>         Environment: MySQL 5.6.13-enterprise-commercial-advanced
> Cayenne 4.0.M3 custom build from rev 0ac54cb
>            Reporter: Andrus Adamchik
>            Assignee: Nikita Timofeev
>            Priority: Trivial
>
> I have a table that defines two constraints over the same exact FK/PK pair (this was
by mistake, and I have cleaned it up since, but never the less, MySQL treats this as a valid
definition) :
> CREATE TABLE `origin` (
>   `ID` int(11) unsigned NOT NULL AUTO_INCREMENT,
>   `A2_TEAM_ID` int(11) unsigned DEFAULT NULL,
>   PRIMARY KEY (`ID`),
>   UNIQUE KEY `NAME` (`NAME`),
>   KEY `A2_TEAM_ID` (`A2_TEAM_ID`),
>   CONSTRAINT `origin_ibfk_1` FOREIGN KEY (`A2_TEAM_ID`) REFERENCES `a2_team` (`ID`),
>   CONSTRAINT `FK_ORIGIN_TO_TEAM` FOREIGN KEY (`A2_TEAM_ID`) REFERENCES `a2_team` (`ID`)
> ) ENGINE=InnoDB AUTO_INCREMENT=175 DEFAULT CHARSET=utf8
> When doing cdbimport from Maven, I got the following exception in the logs:
> [ERROR] Migration Error. Can't apply changes from token: Add Relationship (a2Team origin->a2_team.{ID,
ID})
> java.lang.IllegalArgumentException: An attempt to override relationship 'a2Team'
> 	at org.apache.cayenne.map.Entity.addRelationship(Entity.java:193)
> 	at org.apache.cayenne.merge.AddRelationshipToModel.execute(AddRelationshipToModel.java:43)
> 	at org.apache.cayenne.tools.dbimport.DbImportAction.execute(DbImportAction.java:218)
> 	at org.apache.cayenne.tools.dbimport.DbImportAction.execute(DbImportAction.java:118)
> 	at org.apache.cayenne.tools.DbImporterMojo.execute(DbImporterMojo.java:257)
> 	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
> [INFO] Migration Complete.
> [WARNING] Migration finished. The following problem(s) were ignored.
> [WARNING] Validation failure for java.lang.IllegalArgumentException: Migration Error.
Can't apply changes from token: Add Relationship (a2Team origin->a2_team.{ID, ID})
> So the exception was caught and the build ultimately succeeded, but the stack trace in
the default Maven log made me think there was something wrong with the build. Perhaps we reduce
the log level for the stack trace to DEBUG. The WARNING after it should be enough.
> So perhaps we don't log the stack trace in this situation 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message