Supported DatabasesΒΆ
- DB2 (via slick-extensions)
- Derby/JavaDB
- H2
- HSQLDB/HyperSQL
- Microsoft SQL Server (via slick-extensions)
- MySQL
- Oracle (via slick-extensions)
- PostgreSQL
- SQLite
Other SQL databases can be accessed right away with a reduced feature set. Writing a fully featured plugin for your own SQL-based backend can be achieved with a reasonable amount of work. Support for other backends (like NoSQL) is under development but not yet available.
The following capabilities are supported by the drivers. “Yes” means that a capability is fully supported. In other cases it may be partially supported or not at all. See the individual driver’s API documentation for details.
| Capability | DerbyDriver | H2Driver | HsqldbDriver | MySQLDriver | PostgresDriver | SQLiteDriver |
|---|---|---|---|---|---|---|
| relational.other | Yes | Yes | Yes | Yes | Yes | Yes |
| relational.columnDefaults | Yes | Yes | Yes | Yes | Yes | Yes |
| relational.foreignKeyActions | Yes | Yes | Yes | Yes | Yes | Yes |
| relational.functionDatabase | Yes | Yes | Yes | Yes | ||
| relational.functionUser | Yes | Yes | Yes | Yes | Yes | |
| relational.indexOf | Yes | Yes | Yes | Yes | Yes | Yes |
| relational.joinFull | Yes | Yes | ||||
| relational.joinLeft | Yes | Yes | Yes | Yes | Yes | Yes |
| relational.joinRight | Yes | Yes | Yes | Yes | Yes | |
| relational.likeEscape | Yes | Yes | Yes | Yes | Yes | Yes |
| relational.pagingDrop | Yes | Yes | Yes | Yes | Yes | Yes |
| relational.pagingNested | Yes | Yes | Yes | Yes | Yes | |
| relational.pagingPreciseTake | Yes | Yes | Yes | Yes | Yes | Yes |
| relational.repeat | Yes | Yes | Yes | Yes | Yes | |
| relational.replace | Yes | Yes | Yes | Yes | Yes | |
| relational.reverse | Yes | Yes | Yes | Yes | ||
| relational.setByteArrayNull | Yes | Yes | Yes | Yes | Yes | Yes |
| relational.typeBigDecimal | Yes | Yes | Yes | Yes | Yes | |
| relational.typeBlob | Yes | Yes | Yes | Yes | Yes | |
| relational.typeLong | Yes | Yes | Yes | Yes | Yes | Yes |
| relational.zip | Yes | Yes | Yes | Yes | ||
| sql.other | Yes | Yes | Yes | Yes | Yes | Yes |
| sql.sequence | Yes | Yes | Yes | Yes | Yes | |
| sql.sequenceCurr | Yes | Yes | Yes | Yes | ||
| sql.sequenceCycle | Yes | Yes | Yes | Yes | ||
| sql.sequenceLimited | Yes | Yes | Yes | Yes | Yes | |
| sql.sequenceMax | Yes | Yes | Yes | Yes | Yes | |
| sql.sequenceMin | Yes | Yes | Yes | Yes | Yes | |
| jdbc.other | Yes | Yes | Yes | Yes | Yes | Yes |
| jdbc.booleanMetaData | Yes | Yes | Yes | Yes | ||
| jdbc.createModel | Yes | Yes | Yes | Yes | Yes | Yes |
| jdbc.defaultValueMetaData | Yes | Yes | Yes | Yes | Yes | |
| jdbc.distinguishesIntTypes | Yes | Yes | Yes | Yes | Yes | |
| jdbc.forceInsert | Yes | Yes | Yes | Yes | Yes | Yes |
| jdbc.insertOrUpdate | Yes | |||||
| jdbc.mutable | Yes | Yes | Yes | Yes | Yes | |
| jdbc.nullableNoDefault | Yes | Yes | Yes | Yes | ||
| jdbc.returnInsertKey | Yes | Yes | Yes | Yes | Yes | Yes |
| jdbc.returnInsertOther | Yes | Yes | ||||
| jdbc.supportsByte | Yes | Yes | Yes |
