此结构中的表
organizationsusersmembershipsplanssubscriptionsprojects
表结构(SQL)
MySQL 方言的 DDL。在编辑器中打开可获得可编辑的可视化 ER 图,或直接将 SQL 复制到你的项目中。
CREATE TABLE organizations (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(150) NOT NULL,
slug VARCHAR(160) NOT NULL UNIQUE,
created_at DATETIME NOT NULL
);
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
email VARCHAR(254) NOT NULL UNIQUE,
full_name VARCHAR(120),
created_at DATETIME NOT NULL
);
CREATE TABLE memberships (
id INT PRIMARY KEY AUTO_INCREMENT,
organization_id INT NOT NULL,
user_id INT NOT NULL,
role VARCHAR(20) NOT NULL,
invited_at DATETIME,
joined_at DATETIME,
FOREIGN KEY (organization_id) REFERENCES organizations(id),
FOREIGN KEY (user_id) REFERENCES users(id)
);
CREATE TABLE plans (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(60) NOT NULL,
price_monthly DECIMAL(10,2) NOT NULL,
seat_limit INT
);
CREATE TABLE subscriptions (
id INT PRIMARY KEY AUTO_INCREMENT,
organization_id INT NOT NULL,
plan_id INT NOT NULL,
status VARCHAR(20) NOT NULL,
current_period_end DATETIME NOT NULL,
FOREIGN KEY (organization_id) REFERENCES organizations(id),
FOREIGN KEY (plan_id) REFERENCES plans(id)
);
CREATE TABLE projects (
id INT PRIMARY KEY AUTO_INCREMENT,
organization_id INT NOT NULL,
name VARCHAR(150) NOT NULL,
created_by INT,
created_at DATETIME NOT NULL,
FOREIGN KEY (organization_id) REFERENCES organizations(id),
FOREIGN KEY (created_by) REFERENCES users(id)
);