[ 
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 <drek...@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)

Reply via email to