Quantcast
Channel: Liquibase Forums
Viewing all articles
Browse latest Browse all 2993

MySqlSyntaxErrorException: table already exists

$
0
0

I have seen several related questions and their answers, but it is not helping my case.

I have a Spring boot application, where I have created entities using Jhipster, plus I have added some manual changelog changesets myself.

I have a Doctor entity, which contains a One-to-Many uni-directional relationship with 'Specialty' where 'Doctor' is the owner of the relationship. So I specified a Join table that will store Doctor and Specialty foreign keys.

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(
        name="T_DOCTOR_SPECIALTY",
        joinColumns = @JoinColumn( name="doctor_id"),
        inverseJoinColumns = @JoinColumn( name="specialty_id")
)
private List<Specialty> specialties = new ArrayList<>();

For this, I added a changelog file, that even contains the tag to ignore specialty if it already exists,

<changeSet id="20150415081455" author="waqas">
    <preConditions onFail="MARK_RAN">
        <not>
            <tableExists tableName="T_DOCTOR_SPECIALTY"/>
        </not>
    </preConditions>
</changeSet>

<changeSet id="20150415081221" author="waqas">

    <createTable tableName="T_DOCTOR_SPECIALTY">

        ...

Then, I create a new database with no tables and run the application, but I get the following exception:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 't_doctor_specialty' already exists
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_40]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:...




Viewing all articles
Browse latest Browse all 2993

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>