4

我正在使用 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创建表。这应该像这样工作吗?我需要为每个表创建一个迁移文件吗?

4

2 回答 2

5

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

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

于 2018-04-16T11:26:13.617 回答
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
);
于 2020-01-22T13:16:10.800 回答