Может ли Slick автоматически создавать таблицы в базе данных (генерировать SQL и выполнять) из моделей? - PullRequest
1 голос
/ 15 января 2020

Я понял, что slick-codegen может генерировать scala классов из таблиц базы данных. Можем ли мы сделать наоборот, создавая таблицы, если их нет в базе данных по моделям?

Ответы [ 2 ]

2 голосов
/ 31 января 2020

Вы можете создавать таблицы в Slick из модели: однако, это не связано с инструментом Codegen.

Когда вы определяете модель в Slick, вы можете использовать метод .schema для генерации схемы базы данных. команды. Примеры этого есть в Slick Manual :

 // Assuming we have coffees and suppliers queries, we combine the schemas:
 val schema = coffees.schema ++ suppliers.schema


 // Now we can run a variety of commands to CREATE TABLE etc:
 db.run(DBIO.seq(
   schema.create,
   schema.createIfNotExists,
   schema.drop,
   schema.dropIfExists
))

Однако это не автомат c: вам нужно что-то написать в своем коде запуска, чтобы решить: запускать команды DDL или нет.

0 голосов
/ 15 января 2020

Нет.

Идея Slick - генерировать модели из схемы БД, а не наоборот.

...