# CREATE TABLES query_create_cv_raw = """ CREATE TABLE cv_raw ( filename TEXT NOT NULL UNIQUE, profile_id SERIAL PRIMARY KEY, file_content BYTEA NOT NULL, is_extracted BOOLEAN DEFAULT FALSE, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP ); """ alter_table_cv_raw_add_is_extracted = """ ALTER TABLE cv_raw ADD COLUMN is_extracted BOOLEAN DEFAULT FALSE;""" query_create_cv_profile_extracted = """ CREATE TABLE cv_profile_extracted ( fullname VARCHAR(100) NOT NULL, profile_id SERIAL PRIMARY KEY, gpa_edu_1 DECIMAL(4,2), gpa_edu_2 DECIMAL(4,2), gpa_edu_3 DECIMAL(4,2), univ_edu_1 varchar(100), univ_edu_2 varchar(100), univ_edu_3 varchar(100), major_edu_1 varchar(100), major_edu_2 varchar(100), major_edu_3 varchar(100), domicile TEXT, yoe DECIMAL(3,1), hardskills TEXT, softskills TEXT, certifications TEXT, business_domain TEXT, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, CONSTRAINT fk_profile_extracted FOREIGN KEY (profile_id) REFERENCES cv_raw (profile_id) ON DELETE CASCADE ); """ query_create_cv_profile_norm = """ CREATE TABLE cv_profile_norm ( fullname VARCHAR(100) NOT NULL, profile_id SERIAL PRIMARY KEY, gpa_edu_1 DECIMAL(4,2), gpa_edu_2 DECIMAL(4,2), gpa_edu_3 DECIMAL(4,2), univ_edu_1 varchar(100), univ_edu_2 varchar(100), univ_edu_3 varchar(100), major_edu_1 varchar(100), major_edu_2 varchar(100), major_edu_3 varchar(100), domicile TEXT, yoe DECIMAL(3,1), hardskills TEXT, softskills TEXT, certifications TEXT, business_domain TEXT, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, CONSTRAINT fk_profile_norm FOREIGN KEY (profile_id) REFERENCES cv_profile_extracted (profile_id) ON DELETE CASCADE ); """ # DROP TABLES query_drop_cv_raw = "drop table cv_raw cascade" query_drop_cv_profile_extracted = "drop table cv_profile_extracted cascade" query_drop_cv_profile_norm = "drop table cv_profile_norm cascade" # OPERATIONS q_creates = [query_create_cv_raw, query_create_cv_profile_extracted, query_create_cv_profile_norm] q_drops = [ # query_drop_cv_raw, query_drop_cv_profile_extracted, query_drop_cv_profile_norm] from externals.databases._pgdb import execute_query async def get_create_queries(): for q in q_creates: await execute_query(q) async def get_drop_queries(): for q in q_drops: await execute_query(q) if __name__ == "__main__": import asyncio # asyncio.run(get_drop_queries()) asyncio.run(get_create_queries())