Clojure Luminus迁移 - 每个迁移文件只有一个表

时间:2018-04-16 11:17:50

标签: clojure luminus

我正在使用Clojure和Luminus创建一个Web应用程序,但是当我创建一个包含我需要的所有表的迁移文件时,它只会创建第一个。这是我的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。这应该是这样的吗?我是否需要为每个表创建一个迁移文件?

2 个答案:

答案 0 :(得分:2)

只是让Michiel根据您的情况在这里回答,要在迁移中运行多个语句,请在您的情况下用--;;分隔它们:

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
);

答案 1 :(得分:1)

当您使用Luminus时,您可能正在使用Migratus。如果要在一个sql文件中执行多个语句,请阅读:

https://github.com/yogthos/migratus#multiple-statements