Description
It seems that the when migrating from HSQL to PSQL Crucible is trying to use the HSQL table scripts instead of psql.
To reproduce:
- go to localhost:6060/foo/admin/database.do
- edit the database config
- select a new db
- test connection then migrate
Problem seems to be related to the DatabaseConfig.java changes to set the dbType - doesn't seem to get set by the webwork action in dbConfig from MigrateDatabaseAction
[java] 14:37:59 ERROR - Database migration failed: com.cenqua.crucible.hibernate.CruDBException: Problem with create tables script /Users/seb/dev/crucible/fe/output/dist/sql/HSQL/schema/tables_71.sql [java] com.cenqua.crucible.hibernate.CruDBException: Problem with create tables script /Users/seb/dev/crucible/fe/output/dist/sql/HSQL/schema/tables_71.sql [java] at com.cenqua.crucible.hibernate.DefaultDBControl.createTables(DefaultDBControl.java:289) [java] at com.atlassian.crucible.migration.item.DBImporter.importData(DBImporter.java:128) [java] at com.cenqua.crucible.actions.admin.database.DBEditHelper$ImportRunner.call(DBEditHelper.java:80) [java] at com.cenqua.crucible.actions.admin.database.DBEditHelper$ImportRunner.call(DBEditHelper.java:62) [java] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [java] at java.util.concurrent.FutureTask.run(FutureTask.java:138) [java] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) [java] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) [java] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [java] at java.lang.Thread.run(Thread.java:680) [java] Caused by: com.cenqua.crucible.hibernate.CruDBException: SQL script error on line 1: "create table cru_base_star_model (cru_star_id integer not null, cru_item_type varchar(80) not null, cru_string_key1 varchar(255), cru_string_key2 varchar(255), cru_string_key3 varchar(255), cru_string_key4 varchar(255), cru_string_key5 varchar(255), cru_int_key1 integer, cru_int_key2 integer, cru_int_key3 integer, cru_int_key4 integer, cru_int_key5 integer, cru_text_key1 longvarchar, cru_text_key2 longvarchar, cru_user_name varchar(255), cru_date_created bigint, cru_label varchar(255), primary key (cru_star_id));" [java] (ERROR: type "longvarchar" does not exist [java] Position: 375), please contact http://www.atlassian.com/support/ [java] at com.cenqua.crucible.hibernate.DefaultDBControl.executeScript(DefaultDBControl.java:468) [java] at com.cenqua.crucible.hibernate.DefaultDBControl.executeScript(DefaultDBControl.java:411) [java] at com.cenqua.crucible.hibernate.DefaultDBControl.createTables(DefaultDBControl.java:283) [java] ... 10 more [java] Caused by: org.postgresql.util.PSQLException: ERROR: type "longvarchar" does not exist [java] Position: 375 [java] at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062) [java] at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795) [java] at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479) [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353) [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:299) [java] at com.cenqua.crucible.hibernate.DefaultDBControl.executeScript(DefaultDBControl.java:441) [java] ... 12 more