Clojure Luminus 迁移 - 每个迁移文件只有一个 table
Clojure Luminus Migrations - Only one table per migration file
我正在使用 Clojure 和 Luminus 创建一个 Web 应用程序,但是当我创建一个包含我需要的所有 table 的迁移文件时,它只会创建第一个。这是我的 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
时,只创建 table UserTable
。这应该像这样工作吗?我是否需要为每个 table 创建一个迁移文件?
当您使用 Luminus 时,您可能正在使用 Migratus。如果要在一个 sql 文件中执行多个语句,请阅读:
只是让 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
);
我正在使用 Clojure 和 Luminus 创建一个 Web 应用程序,但是当我创建一个包含我需要的所有 table 的迁移文件时,它只会创建第一个。这是我的 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
时,只创建 table UserTable
。这应该像这样工作吗?我是否需要为每个 table 创建一个迁移文件?
当您使用 Luminus 时,您可能正在使用 Migratus。如果要在一个 sql 文件中执行多个语句,请阅读:
只是让 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
);