Reputation: 15345
I have been getting this error when I'm starting my application which on start up reads some data from a table:
org.h2.jdbc.JdbcSQLException: Unknown data type: "ENUM"; SQL statement:
CREATE CACHED TABLE PUBLIC.POWERPLANT(
POWERPLANTID INT NOT NULL,
ORGNAME VARCHAR(25) NOT NULL,
ISACTIVE BOOL NOT NULL,
MINPOWER INT NOT NULL,
MAXPOWER INT NOT NULL,
RAMPRATE INT,
RAMPRATESECS INT,
POWERPLANTTYPE ENUM('OnOffType','RampUpType'),
CREATEDAT TIMESTAMP NOT NULL,
UPDATEDAT TIMESTAMP NOT NULL
) [50004-186]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.command.Parser.parseColumnWithType(Parser.java:3990)
at org.h2.command.Parser.parseColumnForTable(Parser.java:3853)
at org.h2.command.Parser.parseCreateTable(Parser.java:5761)
at org.h2.command.Parser.parseCreate(Parser.java:4149)
at org.h2.command.Parser.parsePrepared(Parser.java:350)
at org.h2.command.Parser.parse(Parser.java:305)
at org.h2.command.Parser.parse(Parser.java:277)
Here is my connection string:
db.url = "jdbc:h2:~/path/to/db/file;MODE=MySQL;INIT=CREATE DOMAIN IF NOT EXISTS enum as VARCHAR(255);IFEXISTS=TRUE"
Any idea as to how to solve this?
Upvotes: 0
Views: 2601
Reputation: 3255
I've solved the same problem by updating h2 Maven library version to 1.4.200 instead of 1.4.187
Upvotes: 2
Reputation: 15345
Here is how I solved it. The Enum type should be written like this!
powerPlantType VARCHAR(25) check (powerPlantType in ('OnOffType', 'RampUpType')),
Upvotes: 1