· 8 years ago · Feb 06, 2018, 07:18 PM
1liquibase.exception.MigrationFailedException: Migration failed for change set config/liquibase/changelog/20180205173557_added_entity_Address.xml::20180205173557-1::jhipster:
2
3package com.projects.web.rest;
4
5import com.codahale.metrics.annotation.Timed;
6import com.projects.domain.Project;
7import com.projects.messaging.Greeting;
8import com.projects.repository.ProjectRepository;
9import com.projects.web.rest.errors.BadRequestAlertException;
10import com.projects.web.rest.util.HeaderUtil;
11import com.projects.web.rest.util.PaginationUtil;
12import io.github.jhipster.web.util.ResponseUtil;
13import org.slf4j.Logger;
14import org.slf4j.LoggerFactory;
15import org.springframework.beans.factory.annotation.Autowired;
16import org.springframework.beans.factory.annotation.Qualifier;
17import org.springframework.cloud.stream.annotation.EnableBinding;
18import org.springframework.cloud.stream.messaging.Source;
19import org.springframework.data.domain.Page;
20import org.springframework.data.domain.Pageable;
21import org.springframework.http.HttpHeaders;
22import org.springframework.http.HttpStatus;
23import org.springframework.http.ResponseEntity;
24import org.springframework.messaging.MessageChannel;
25import org.springframework.messaging.support.MessageBuilder;
26import org.springframework.web.bind.annotation.*;
27
28import javax.validation.Valid;
29import java.net.URI;
30import java.net.URISyntaxException;
31
32import java.util.List;
33import java.util.Optional;
34
35/**
36 * REST controller for managing Project.
37 */
38@RestController
39@RequestMapping("/api")
40@EnableBinding(Source.class)
41public class ProjectResource
42{
43
44 private final Logger log = LoggerFactory.getLogger(ProjectResource.class);
45
46 private static final String ENTITY_NAME = "project";
47
48 private final ProjectRepository projectRepository;
49
50 @Autowired
51 private Source source;
52
53
54 public ProjectResource(ProjectRepository projectRepository)
55 {
56 this.projectRepository = projectRepository;
57 }
58
59
60 /**
61 * POST /projects : Create a new project.
62 *
63 * @param project
64 * the project to create
65 * @return the ResponseEntity with status 201 (Created) and with body the new
66 * project, or with status 400 (Bad Request) if the project has already
67 * an ID
68 * @throws URISyntaxException
69 * if the Location URI syntax is incorrect
70 */
71 @PostMapping("/projects")
72 @Timed
73 public ResponseEntity<Project> createProject(@Valid @RequestBody Project project) throws URISyntaxException
74 {
75 log.debug("REST request to save Project : {}", project);
76 if (project.getId() != null)
77 {
78 throw new BadRequestAlertException("A new project cannot already have an ID", ENTITY_NAME, "idexists");
79 }
80 Project result = projectRepository.save(project);
81 source.output().send(MessageBuilder.withPayload(result).build());
82 return ResponseEntity.created(new URI("/api/projects/" + result.getId()))
83 .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getId().toString())).body(result);
84 }
85
86 /**
87 * PUT /projects : Updates an existing project.
88 *
89 * @param project
90 * the project to update
91 * @return the ResponseEntity with status 200 (OK) and with body the updated
92 * project, or with status 400 (Bad Request) if the project is not
93 * valid, or with status 500 (Internal Server Error) if the project
94 * couldn't be updated
95 * @throws URISyntaxException
96 * if the Location URI syntax is incorrect
97 */
98 @PutMapping("/projects")
99 @Timed
100 public ResponseEntity<Project> updateProject(@Valid @RequestBody Project project) throws URISyntaxException
101 {
102 log.debug("REST request to update Project : {}", project);
103 if (project.getId() == null)
104 {
105 return createProject(project);
106 }
107 Project result = projectRepository.save(project);
108 source.output().send(MessageBuilder.withPayload(result).build());
109 return ResponseEntity.ok().headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, project.getId().toString()))
110 .body(result);
111 }
112
113 /**
114 * GET /projects : get all the projects.
115 *
116 * @param pageable
117 * the pagination information
118 * @return the ResponseEntity with status 200 (OK) and the list of projects in
119 * body
120 */
121 @GetMapping("/projects")
122 @Timed
123 public ResponseEntity<List<Project>> getAllProjects(Pageable pageable)
124 {
125 log.debug("REST request to get a page of Projects");
126 Page<Project> page = projectRepository.findAll(pageable);
127 HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/projects");
128 return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
129 }
130
131 /**
132 * GET /projects/:id : get the "id" project.
133 *
134 * @param id
135 * the id of the project to retrieve
136 * @return the ResponseEntity with status 200 (OK) and with body the project, or
137 * with status 404 (Not Found)
138 */
139 @GetMapping("/projects/{id}")
140 @Timed
141 public ResponseEntity<Project> getProject(@PathVariable Long id)
142 {
143 log.debug("REST request to get Project : {}", id);
144 Project project = projectRepository.findOne(id);
145 return ResponseUtil.wrapOrNotFound(Optional.ofNullable(project));
146 }
147
148 /**
149 * DELETE /projects/:id : delete the "id" project.
150 *
151 * @param id
152 * the id of the project to delete
153 * @return the ResponseEntity with status 200 (OK)
154 */
155 @DeleteMapping("/projects/{id}")
156 @Timed
157 public ResponseEntity<Void> deleteProject(@PathVariable Long id)
158 {
159 log.debug("REST request to delete Project : {}", id);
160 projectRepository.delete(id);
161 return ResponseEntity.ok().headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, id.toString())).build();
162 }
163}
164
165projects-app_1 | 2018-02-06 18:56:24.704 ERROR 6 --- [ main] liquibase : classpath:config/liquibase/master.xml: config/liquibase/changelog/20180205173557_added_entity_Address.xml::20180205173557-1::jhipster: Change Set config/liquibase/changelog/20180205173557_added_entity_Address.xml::20180205173557-1::jhipster failed. Error: Table 'address' already exists [Failed SQL: CREATE TABLE projects.address (id BIGINT AUTO_INCREMENT NOT NULL, street_name VARCHAR(255) NOT NULL, apartment_or_house_number VARCHAR(255) NULL, city VARCHAR(255) NOT NULL, zipcode BIGINT NOT NULL, state VARCHAR(255) NULL, country VARCHAR(255) NULL, CONSTRAINT PK_ADDRESS PRIMARY KEY (id))]
166projects-app_1 | 2018-02-06 18:56:24.829 WARN 6 --- [ main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [com/projects/config/DatabaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.MigrationFailedException: Migration failed for change set config/liquibase/changelog/20180205173557_added_entity_Address.xml::20180205173557-1::jhipster:
167projects-app_1 | Reason: liquibase.exception.DatabaseException: Table 'address' already exists [Failed SQL: CREATE TABLE projects.address (id BIGINT AUTO_INCREMENT NOT NULL, street_name VARCHAR(255) NOT NULL, apartment_or_house_number VARCHAR(255) NULL, city VARCHAR(255) NOT NULL, zipcode BIGINT NOT NULL, state VARCHAR(255) NULL, country VARCHAR(255) NULL, CONSTRAINT PK_ADDRESS PRIMARY KEY (id))]
168projects-app_1 | 2018-02-06 18:56:25.380 ERROR 6 --- [ main] o.s.boot.SpringApplication : Application startup failed
169projects-app_1 |
170projects-app_1 | org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [com/projects/config/DatabaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.MigrationFailedException: Migration failed for change set config/liquibase/changelog/20180205173557_added_entity_Address.xml::20180205173557-1::jhipster:
171projects-app_1 | Reason: liquibase.exception.DatabaseException: Table 'address' already exists [Failed SQL: CREATE TABLE projects.address (id BIGINT AUTO_INCREMENT NOT NULL, street_name VARCHAR(255) NOT NULL, apartment_or_house_number VARCHAR(255) NULL, city VARCHAR(255) NOT NULL, zipcode BIGINT NOT NULL, state VARCHAR(255) NULL, country VARCHAR(255) NULL, CONSTRAINT PK_ADDRESS PRIMARY KEY (id))]
172projects-app_1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)
173projects-app_1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
174projects-app_1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
175projects-app_1 | at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
176projects-app_1 | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
177projects-app_1 | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
178projects-app_1 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
179projects-app_1 | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:296)
180projects-app_1 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
181projects-app_1 | at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)
182projects-app_1 | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:857)
183projects-app_1 | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
184projects-app_1 | at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
185projects-app_1 | at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
186projects-app_1 | at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
187projects-app_1 | at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
188projects-app_1 | at com.projects.ProjectsApp.main(ProjectsApp.java:68)
189projects-app_1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
190projects-app_1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
191projects-app_1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
192projects-app_1 | at java.lang.reflect.Method.invoke(Method.java:498)
193projects-app_1 | at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
194projects-app_1 | at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
195projects-app_1 | at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
196projects-app_1 | at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59)
197projects-app_1 | Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set config/liquibase/changelog/20180205173557_added_entity_Address.xml::20180205173557-1::jhipster:
198projects-app_1 | Reason: liquibase.exception.DatabaseException: Table 'address' already exists [Failed SQL: CREATE TABLE projects.address (id BIGINT AUTO_INCREMENT NOT NULL, street_name VARCHAR(255) NOT NULL, apartment_or_house_number VARCHAR(255) NULL, city VARCHAR(255) NOT NULL, zipcode BIGINT NOT NULL, state VARCHAR(255) NULL, country VARCHAR(255) NULL, CONSTRAINT PK_ADDRESS PRIMARY KEY (id))]
199projects-app_1 | at liquibase.changelog.ChangeSet.execute(ChangeSet.java:619)
200projects-app_1 | at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:51)
201projects-app_1 | at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:79)
202projects-app_1 | at liquibase.Liquibase.update(Liquibase.java:214)
203projects-app_1 | at liquibase.Liquibase.update(Liquibase.java:192)
204projects-app_1 | at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:431)
205projects-app_1 | at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:388)
206projects-app_1 | at io.github.jhipster.config.liquibase.AsyncSpringLiquibase.initDb(AsyncSpringLiquibase.java:94)
207projects-app_1 | at io.github.jhipster.config.liquibase.AsyncSpringLiquibase.afterPropertiesSet(AsyncSpringLiquibase.java:84)
208projects-app_1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)
209projects-app_1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)
210projects-app_1 | ... 24 common frames omitted
211projects-app_1 | Caused by: liquibase.exception.DatabaseException: Table 'address' already exists [Failed SQL: CREATE TABLE projects.address (id BIGINT AUTO_INCREMENT NOT NULL, street_name VARCHAR(255) NOT NULL, apartment_or_house_number VARCHAR(255) NULL, city VARCHAR(255) NOT NULL, zipcode BIGINT NOT NULL, state VARCHAR(255) NULL, country VARCHAR(255) NULL, CONSTRAINT PK_ADDRESS PRIMARY KEY (id))]
212projects-app_1 | at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:309)
213projects-app_1 | at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:55)
214projects-app_1 | at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:113)
215projects-app_1 | at liquibase.database.AbstractJdbcDatabase.execute(AbstractJdbcDatabase.java:1277)
216projects-app_1 | at liquibase.database.AbstractJdbcDatabase.executeStatements(AbstractJdbcDatabase.java:1259)
217projects-app_1 | at liquibase.changelog.ChangeSet.execute(ChangeSet.java:582)
218projects-app_1 | ... 34 common frames omitted
219projects-app_1 | Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'address' already exists
220projects-app_1 | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
221projects-app_1 | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
222projects-app_1 | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
223projects-app_1 | at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
224projects-app_1 | at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
225projects-app_1 | at com.mysql.jdbc.Util.getInstance(Util.java:408)
226projects-app_1 | at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:943)
227projects-app_1 | at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
228projects-app_1 | at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
229projects-app_1 | at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
230projects-app_1 | at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
231projects-app_1 | at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2483)
232projects-app_1 | at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2441)
233projects-app_1 | at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:845)
234projects-app_1 | at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:745)
235projects-app_1 | at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:95)
236projects-app_1 | at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java)
237projects-app_1 | at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:307)
238projects-app_1 | ... 39 common frames omitted
239projects-app_1 |