VRFS-3359 : Teacher Profile Migrations
This commit is contained in:
parent
823da09ef3
commit
cb3137ff80
|
|
@ -298,3 +298,4 @@ musician_search.sql
|
|||
enhance_band_profile.sql
|
||||
alter_band_profile_rate_defaults.sql
|
||||
repair_band_profile.sql
|
||||
profile_teacher.sql
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
CREATE TABLE teachers (
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
user_id VARCHAR(64) REFERENCES users(id) ON DELETE CASCADE,
|
||||
introductory_video VARCHAR(1024) NULL,
|
||||
years_teaching SMALLINT NOT NULL,
|
||||
years_playing SMALLINT NOT NULL,
|
||||
teaches_age_lower SMALLINT NOT NULL DEFAULT 0,
|
||||
teaches_age_upper SMALLINT NOT NULL DEFAULT 0,
|
||||
website VARCHAR(1024) NULL,
|
||||
biography VARCHAR(4096) NOT NULL,
|
||||
teaches_beginner BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
teaches_intermediat BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
teaches_advanced BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
price_per_lesson BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
price_per_month BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
lesson_duration_30 BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
lesson_duration_45 BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
lesson_duration_60 BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
lesson_duration_90 BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
lesson_duration_120 BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
price_per_lesson_cents INT NULL,
|
||||
price_per_month_cents INT NULL,
|
||||
lesson_duration_30_cents INT NULL,
|
||||
lesson_duration_45_cents INT NULL,
|
||||
lesson_duration_60_cents INT NULL,
|
||||
lesson_duration_90_cents INT NULL,
|
||||
lesson_duration_120_cents INT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE subjects(
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
name VARCHAR(1024) NOT NULL,
|
||||
description VARCHAR(4000) NULL
|
||||
);
|
||||
|
||||
CREATE TABLE languages(
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
name VARCHAR(1024) NOT NULL,
|
||||
description VARCHAR(4000) NULL
|
||||
);
|
||||
|
||||
-- Has many:
|
||||
CREATE TABLE teacher_experience(
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
teacher_id VARCHAR(64) REFERENCES teachers(id) ON DELETE CASCADE,
|
||||
-- experience type: teaching, education, award:
|
||||
experience_type VARCHAR(32) NOT NULL,
|
||||
name VARCHAR(200) NOT NULL,
|
||||
organization VARCHAR(200) NOT NULL,
|
||||
start_year SMALLINT NOT NULL DEFAULT 0,
|
||||
end_year SMALLINT NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
-- Has many/through tables:
|
||||
CREATE TABLE teachers_genres(
|
||||
teacher_id VARCHAR(64) REFERENCES teachers(id) ON DELETE CASCADE,
|
||||
genre_id VARCHAR(64) REFERENCES genres(id) ON DELETE CASCADE
|
||||
);
|
||||
CREATE TABLE teachers_instruments(
|
||||
teacher_id VARCHAR(64) REFERENCES teachers(id) ON DELETE CASCADE,
|
||||
instrument_id VARCHAR(64) REFERENCES instruments(id) ON DELETE CASCADE
|
||||
);
|
||||
CREATE TABLE teachers_subjects(
|
||||
teacher_id VARCHAR(64) REFERENCES teachers(id) ON DELETE CASCADE,
|
||||
subject_id VARCHAR(64) REFERENCES subjects(id) ON DELETE CASCADE
|
||||
);
|
||||
CREATE TABLE teacher_languages(
|
||||
teacher_id VARCHAR(64) REFERENCES teachers(id) ON DELETE CASCADE,
|
||||
language_id VARCHAR(64) REFERENCES languages(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue