Clojure Luminus Migrations - только одна таблица на файл миграции

Я создаю веб-приложение с Clojure и Luminus, но когда я создаю файл миграции со всеми нужными мне таблицами, он создает только первую. Это мое user-table.up.sql файл:

CREATE TABLE UserTable (
   id INTEGER PRIMARY KEY AUTOINCREMENT,
   first_name VARCHAR(50),
   last_name VARCHAR(50),
   gender VARCHAR(50),
   email VARCHAR(50) UNIQUE,
   password VARCHAR(400),
   time_stamp TIMESTAMP,
   is_active BOOLEAN
);

CREATE TABLE LoginTable (
   id INTEGER PRIMARY KEY AUTOINCREMENT,
   user_id INTEGER,
   time_stamp TIMESTAMP
);

Когда я бегу lein run migrateтолько стол UserTable создано. Это должно работать так? Нужно ли создавать файл миграции для каждой таблицы?

1 ответ

Решение

Поскольку вы используете Luminus, вы, вероятно, используете Migratus. Если вы хотите выполнить несколько операторов в одном файле sql, прочитайте это:

https://github.com/yogthos/migratus

Чтобы Майкл ответил здесь в соответствии с вашим случаем, чтобы запустить несколько операторов в вашей миграции, разделите их с помощью --;; в твоем случае:

CREATE TABLE UserTable (
   id INTEGER PRIMARY KEY AUTOINCREMENT,
   first_name VARCHAR(50),
   last_name VARCHAR(50),
   gender VARCHAR(50),
   email VARCHAR(50) UNIQUE,
   password VARCHAR(400),
   time_stamp TIMESTAMP,
   is_active BOOLEAN
);
--;;
CREATE TABLE LoginTable (
   id INTEGER PRIMARY KEY AUTOINCREMENT,
   user_id INTEGER,
   time_stamp TIMESTAMP
);
Другие вопросы по тегам