A última versão do Slick, um biblioteca em Scala para Mapeamento Funcional-Relacional, traz suporte à engenharia reversa de schemas e uma nova arquitetura do driver que permite suportar bancos de dados não SQL. Mudanças na versão 2.0 lançada recentemente incluem:
- Um gerador de código para engenharia reversa de schemas do banco de dados, capaz de gerar todo o código necessário;
- Uma nova arquitetura para o driver permite suportar bancos de dados não SQL e não JDBC;
- Para projeções com *, foi removido a restrição de tuplas planas, permitindo retornar qualquer tipo válido como tipo de retorno de uma Query;
- Suporte de listas heterogêneas para registros de tamanho arbitrário em adição às tuplas do Scala;
- Novo modelo de queries pré-compiladas substitui a abstração QueryTemplate.
- Além de pesquisas, consultas pré-compiladas podem ser utilizadas para operações de atualização e remoção;
- Inserções suaves tornam-se padrão, removendo a necessidade de projeções separadas para inserções. Assim as colunas com auto-incremento são automaticamente ignoradas na inserção quando utilizadas as operações +=, ++=, insert e insertAll. O comportamento anterior ainda é suportado;
- Definições de tabelas de sintaxe novas e mais verbosas na API padrão do Lifted Embedding para evitar confusões nas versões anteriores;
- Suporte à conversões de Options do lado do servidor. Por exemplo, utilizar o método getOrElse em colunas Option;
- Uma funcionalidade experimental que permite agendamento de Query, possibilitando o uso de tabelas de múltiplos bancos de dados em uma única consulta;
- Um novo modelo para o Activator com o objetivo de simplificar os primeiros passos com o Stick.
Além das atualizações citadas, mais 200 mudanças foram incluídas nesta nova atualização. A equipe também atualizou a documentação, incluindo o guia de primeiros passos. Essa atualização não é retro-compatível e o guia para migração descreve as mudanças da versão 1.0 para 2.0.
O Slick é uma biblioteca de acesso a banco de dados relacional para a linguagem funcional Scala; semelhante ao Mapeamento Objeto-Relacional, ORM, das linguagens orientadas a objetos, por exemplo, o Hibernate.
Uma lista de e-mail de usuários do Slick está disponível com mais de 700 membros.
O Slick é um produto open source com uma licença similar ao BSD. Os sistemas de banco de dados suportados incluem H2, MySQL e PostgreSQL. Drivers para Oracle, IBM DB2 e Microsoft SQL Server estão disponíveis em uma extensão comercial do Slick.