it-planet-springboard/api/app/database/alembic/versions/e92fd7709cd8_0006_промежуточная_миграция.py

205 lines
21 KiB
Python

"""0006 промежуточная миграция
Revision ID: e92fd7709cd8
Revises: f44e5501473a
Create Date: 2026-03-25 11:13:37.289825
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = 'e92fd7709cd8'
down_revision: Union[str, Sequence[str], None] = 'f44e5501473a'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
"""Upgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.drop_constraint(op.f('applicant_contact_recommendations_recommender_id_fkey'), 'applicant_contact_recommendations', type_='foreignkey')
op.drop_constraint(op.f('applicant_contact_recommendations_recipient_id_fkey'), 'applicant_contact_recommendations', type_='foreignkey')
op.create_foreign_key(None, 'applicant_contact_recommendations', 'applicant_profiles', ['recipient_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'applicant_contact_recommendations', 'applicant_profiles', ['recommender_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('applicant_contacts_receiver_id_fkey'), 'applicant_contacts', type_='foreignkey')
op.drop_constraint(op.f('applicant_contacts_status_id_fkey'), 'applicant_contacts', type_='foreignkey')
op.drop_constraint(op.f('applicant_contacts_sender_id_fkey'), 'applicant_contacts', type_='foreignkey')
op.create_foreign_key(None, 'applicant_contacts', 'applicant_contact_statuses', ['status_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'applicant_contacts', 'applicant_profiles', ['sender_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'applicant_contacts', 'applicant_profiles', ['receiver_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('applicant_educations_university_id_fkey'), 'applicant_educations', type_='foreignkey')
op.drop_constraint(op.f('applicant_educations_applicant_id_fkey'), 'applicant_educations', type_='foreignkey')
op.create_foreign_key(None, 'applicant_educations', 'applicant_profiles', ['applicant_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'applicant_educations', 'universities', ['university_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('applicant_experiences_applicant_id_fkey'), 'applicant_experiences', type_='foreignkey')
op.create_foreign_key(None, 'applicant_experiences', 'applicant_profiles', ['applicant_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('applicant_favorite_companies_company_id_fkey'), 'applicant_favorite_companies', type_='foreignkey')
op.drop_constraint(op.f('applicant_favorite_companies_applicant_id_fkey'), 'applicant_favorite_companies', type_='foreignkey')
op.create_foreign_key(None, 'applicant_favorite_companies', 'company_profiles', ['company_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'applicant_favorite_companies', 'applicant_profiles', ['applicant_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('applicant_profiles_user_id_fkey'), 'applicant_profiles', type_='foreignkey')
op.create_foreign_key(None, 'applicant_profiles', 'users', ['user_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('applicant_resume_files_applicant_id_fkey'), 'applicant_resume_files', type_='foreignkey')
op.create_foreign_key(None, 'applicant_resume_files', 'applicant_profiles', ['applicant_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('applicant_resume_links_applicant_id_fkey'), 'applicant_resume_links', type_='foreignkey')
op.create_foreign_key(None, 'applicant_resume_links', 'applicant_profiles', ['applicant_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('applicant_resume_projects_applicant_id_fkey'), 'applicant_resume_projects', type_='foreignkey')
op.create_foreign_key(None, 'applicant_resume_projects', 'applicant_profiles', ['applicant_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('applicant_skills_tag_id_fkey'), 'applicant_skills', type_='foreignkey')
op.drop_constraint(op.f('applicant_skills_applicant_id_fkey'), 'applicant_skills', type_='foreignkey')
op.create_foreign_key(None, 'applicant_skills', 'applicant_profiles', ['applicant_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'applicant_skills', 'applicant_skill_tags', ['tag_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_column('applicant_skills', 'level')
op.drop_constraint(op.f('career_events_moderation_status_id_fkey'), 'career_events', type_='foreignkey')
op.drop_constraint(op.f('career_events_event_type_id_fkey'), 'career_events', type_='foreignkey')
op.drop_constraint(op.f('career_events_location_id_fkey'), 'career_events', type_='foreignkey')
op.drop_constraint(op.f('career_events_company_id_fkey'), 'career_events', type_='foreignkey')
op.create_foreign_key(None, 'career_events', 'moderation_statuses', ['moderation_status_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'career_events', 'event_types', ['event_type_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'career_events', 'location_coordinates', ['location_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'career_events', 'company_profiles', ['company_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('company_profile_socials_company_id_fkey'), 'company_profile_socials', type_='foreignkey')
op.create_foreign_key(None, 'company_profile_socials', 'company_profiles', ['company_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('company_profiles_logo_id_fkey'), 'company_profiles', type_='foreignkey')
op.drop_constraint(op.f('company_profiles_creator_user_id_fkey'), 'company_profiles', type_='foreignkey')
op.drop_constraint(op.f('company_profiles_official_photo_id_fkey'), 'company_profiles', type_='foreignkey')
op.drop_constraint(op.f('company_profiles_industry_id_fkey'), 'company_profiles', type_='foreignkey')
op.create_foreign_key(None, 'company_profiles', 'company_profile_logos', ['logo_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'company_profiles', 'industries', ['industry_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'company_profiles', 'users', ['creator_user_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'company_profiles', 'company_profile_photos', ['official_photo_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('internships_experience_level_id_fkey'), 'internships', type_='foreignkey')
op.drop_constraint(op.f('internships_company_id_fkey'), 'internships', type_='foreignkey')
op.drop_constraint(op.f('internships_location_id_fkey'), 'internships', type_='foreignkey')
op.drop_constraint(op.f('internships_work_format_id_fkey'), 'internships', type_='foreignkey')
op.drop_constraint(op.f('internships_moderation_status_id_fkey'), 'internships', type_='foreignkey')
op.create_foreign_key(None, 'internships', 'experience_levels', ['experience_level_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'internships', 'company_profiles', ['company_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'internships', 'moderation_statuses', ['moderation_status_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'internships', 'location_coordinates', ['location_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'internships', 'work_formats', ['work_format_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('mentorship_programs_location_id_fkey'), 'mentorship_programs', type_='foreignkey')
op.drop_constraint(op.f('mentorship_programs_moderation_status_id_fkey'), 'mentorship_programs', type_='foreignkey')
op.drop_constraint(op.f('mentorship_programs_company_id_fkey'), 'mentorship_programs', type_='foreignkey')
op.create_foreign_key(None, 'mentorship_programs', 'company_profiles', ['company_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'mentorship_programs', 'moderation_statuses', ['moderation_status_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'mentorship_programs', 'location_coordinates', ['location_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('users_role_id_fkey'), 'users', type_='foreignkey')
op.create_foreign_key(None, 'users', 'roles', ['role_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('vacancies_company_id_fkey'), 'vacancies', type_='foreignkey')
op.drop_constraint(op.f('vacancies_location_id_fkey'), 'vacancies', type_='foreignkey')
op.drop_constraint(op.f('vacancies_employment_type_id_fkey'), 'vacancies', type_='foreignkey')
op.drop_constraint(op.f('vacancies_experience_level_id_fkey'), 'vacancies', type_='foreignkey')
op.drop_constraint(op.f('vacancies_work_format_id_fkey'), 'vacancies', type_='foreignkey')
op.drop_constraint(op.f('vacancies_moderation_status_id_fkey'), 'vacancies', type_='foreignkey')
op.create_foreign_key(None, 'vacancies', 'employment_types', ['employment_type_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'vacancies', 'location_coordinates', ['location_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'vacancies', 'work_formats', ['work_format_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'vacancies', 'moderation_statuses', ['moderation_status_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'vacancies', 'experience_levels', ['experience_level_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'vacancies', 'company_profiles', ['company_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('vacancy_applications_vacancy_id_fkey'), 'vacancy_applications', type_='foreignkey')
op.drop_constraint(op.f('vacancy_applications_applicant_id_fkey'), 'vacancy_applications', type_='foreignkey')
op.create_foreign_key(None, 'vacancy_applications', 'vacancies', ['vacancy_id'], ['id'], source_schema='public', referent_schema='public')
op.create_foreign_key(None, 'vacancy_applications', 'applicant_profiles', ['applicant_id'], ['id'], source_schema='public', referent_schema='public')
op.drop_constraint(op.f('verification_requests_company_id_fkey'), 'verification_requests', type_='foreignkey')
op.create_foreign_key(None, 'verification_requests', 'company_profiles', ['company_id'], ['id'], source_schema='public', referent_schema='public')
# ### end Alembic commands ###
def downgrade() -> None:
"""Downgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.drop_constraint(None, 'verification_requests', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('verification_requests_company_id_fkey'), 'verification_requests', 'company_profiles', ['company_id'], ['id'])
op.drop_constraint(None, 'vacancy_applications', schema='public', type_='foreignkey')
op.drop_constraint(None, 'vacancy_applications', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('vacancy_applications_applicant_id_fkey'), 'vacancy_applications', 'applicant_profiles', ['applicant_id'], ['id'])
op.create_foreign_key(op.f('vacancy_applications_vacancy_id_fkey'), 'vacancy_applications', 'vacancies', ['vacancy_id'], ['id'])
op.drop_constraint(None, 'vacancies', schema='public', type_='foreignkey')
op.drop_constraint(None, 'vacancies', schema='public', type_='foreignkey')
op.drop_constraint(None, 'vacancies', schema='public', type_='foreignkey')
op.drop_constraint(None, 'vacancies', schema='public', type_='foreignkey')
op.drop_constraint(None, 'vacancies', schema='public', type_='foreignkey')
op.drop_constraint(None, 'vacancies', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('vacancies_moderation_status_id_fkey'), 'vacancies', 'moderation_statuses', ['moderation_status_id'], ['id'])
op.create_foreign_key(op.f('vacancies_work_format_id_fkey'), 'vacancies', 'work_formats', ['work_format_id'], ['id'])
op.create_foreign_key(op.f('vacancies_experience_level_id_fkey'), 'vacancies', 'experience_levels', ['experience_level_id'], ['id'])
op.create_foreign_key(op.f('vacancies_employment_type_id_fkey'), 'vacancies', 'employment_types', ['employment_type_id'], ['id'])
op.create_foreign_key(op.f('vacancies_location_id_fkey'), 'vacancies', 'location_coordinates', ['location_id'], ['id'])
op.create_foreign_key(op.f('vacancies_company_id_fkey'), 'vacancies', 'company_profiles', ['company_id'], ['id'])
op.drop_constraint(None, 'users', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('users_role_id_fkey'), 'users', 'roles', ['role_id'], ['id'])
op.drop_constraint(None, 'mentorship_programs', schema='public', type_='foreignkey')
op.drop_constraint(None, 'mentorship_programs', schema='public', type_='foreignkey')
op.drop_constraint(None, 'mentorship_programs', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('mentorship_programs_company_id_fkey'), 'mentorship_programs', 'company_profiles', ['company_id'], ['id'])
op.create_foreign_key(op.f('mentorship_programs_moderation_status_id_fkey'), 'mentorship_programs', 'moderation_statuses', ['moderation_status_id'], ['id'])
op.create_foreign_key(op.f('mentorship_programs_location_id_fkey'), 'mentorship_programs', 'location_coordinates', ['location_id'], ['id'])
op.drop_constraint(None, 'internships', schema='public', type_='foreignkey')
op.drop_constraint(None, 'internships', schema='public', type_='foreignkey')
op.drop_constraint(None, 'internships', schema='public', type_='foreignkey')
op.drop_constraint(None, 'internships', schema='public', type_='foreignkey')
op.drop_constraint(None, 'internships', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('internships_moderation_status_id_fkey'), 'internships', 'moderation_statuses', ['moderation_status_id'], ['id'])
op.create_foreign_key(op.f('internships_work_format_id_fkey'), 'internships', 'work_formats', ['work_format_id'], ['id'])
op.create_foreign_key(op.f('internships_location_id_fkey'), 'internships', 'location_coordinates', ['location_id'], ['id'])
op.create_foreign_key(op.f('internships_company_id_fkey'), 'internships', 'company_profiles', ['company_id'], ['id'])
op.create_foreign_key(op.f('internships_experience_level_id_fkey'), 'internships', 'experience_levels', ['experience_level_id'], ['id'])
op.drop_constraint(None, 'company_profiles', schema='public', type_='foreignkey')
op.drop_constraint(None, 'company_profiles', schema='public', type_='foreignkey')
op.drop_constraint(None, 'company_profiles', schema='public', type_='foreignkey')
op.drop_constraint(None, 'company_profiles', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('company_profiles_industry_id_fkey'), 'company_profiles', 'industries', ['industry_id'], ['id'])
op.create_foreign_key(op.f('company_profiles_official_photo_id_fkey'), 'company_profiles', 'company_profile_photos', ['official_photo_id'], ['id'])
op.create_foreign_key(op.f('company_profiles_creator_user_id_fkey'), 'company_profiles', 'users', ['creator_user_id'], ['id'])
op.create_foreign_key(op.f('company_profiles_logo_id_fkey'), 'company_profiles', 'company_profile_logos', ['logo_id'], ['id'])
op.drop_constraint(None, 'company_profile_socials', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('company_profile_socials_company_id_fkey'), 'company_profile_socials', 'company_profiles', ['company_id'], ['id'])
op.drop_constraint(None, 'career_events', schema='public', type_='foreignkey')
op.drop_constraint(None, 'career_events', schema='public', type_='foreignkey')
op.drop_constraint(None, 'career_events', schema='public', type_='foreignkey')
op.drop_constraint(None, 'career_events', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('career_events_company_id_fkey'), 'career_events', 'company_profiles', ['company_id'], ['id'])
op.create_foreign_key(op.f('career_events_location_id_fkey'), 'career_events', 'location_coordinates', ['location_id'], ['id'])
op.create_foreign_key(op.f('career_events_event_type_id_fkey'), 'career_events', 'event_types', ['event_type_id'], ['id'])
op.create_foreign_key(op.f('career_events_moderation_status_id_fkey'), 'career_events', 'moderation_statuses', ['moderation_status_id'], ['id'])
op.add_column('applicant_skills', sa.Column('level', sa.VARCHAR(length=50), autoincrement=False, nullable=False))
op.drop_constraint(None, 'applicant_skills', schema='public', type_='foreignkey')
op.drop_constraint(None, 'applicant_skills', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('applicant_skills_applicant_id_fkey'), 'applicant_skills', 'applicant_profiles', ['applicant_id'], ['id'])
op.create_foreign_key(op.f('applicant_skills_tag_id_fkey'), 'applicant_skills', 'applicant_skill_tags', ['tag_id'], ['id'])
op.drop_constraint(None, 'applicant_resume_projects', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('applicant_resume_projects_applicant_id_fkey'), 'applicant_resume_projects', 'applicant_profiles', ['applicant_id'], ['id'])
op.drop_constraint(None, 'applicant_resume_links', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('applicant_resume_links_applicant_id_fkey'), 'applicant_resume_links', 'applicant_profiles', ['applicant_id'], ['id'])
op.drop_constraint(None, 'applicant_resume_files', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('applicant_resume_files_applicant_id_fkey'), 'applicant_resume_files', 'applicant_profiles', ['applicant_id'], ['id'])
op.drop_constraint(None, 'applicant_profiles', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('applicant_profiles_user_id_fkey'), 'applicant_profiles', 'users', ['user_id'], ['id'])
op.drop_constraint(None, 'applicant_favorite_companies', schema='public', type_='foreignkey')
op.drop_constraint(None, 'applicant_favorite_companies', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('applicant_favorite_companies_applicant_id_fkey'), 'applicant_favorite_companies', 'applicant_profiles', ['applicant_id'], ['id'])
op.create_foreign_key(op.f('applicant_favorite_companies_company_id_fkey'), 'applicant_favorite_companies', 'company_profiles', ['company_id'], ['id'])
op.drop_constraint(None, 'applicant_experiences', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('applicant_experiences_applicant_id_fkey'), 'applicant_experiences', 'applicant_profiles', ['applicant_id'], ['id'])
op.drop_constraint(None, 'applicant_educations', schema='public', type_='foreignkey')
op.drop_constraint(None, 'applicant_educations', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('applicant_educations_applicant_id_fkey'), 'applicant_educations', 'applicant_profiles', ['applicant_id'], ['id'])
op.create_foreign_key(op.f('applicant_educations_university_id_fkey'), 'applicant_educations', 'universities', ['university_id'], ['id'])
op.drop_constraint(None, 'applicant_contacts', schema='public', type_='foreignkey')
op.drop_constraint(None, 'applicant_contacts', schema='public', type_='foreignkey')
op.drop_constraint(None, 'applicant_contacts', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('applicant_contacts_sender_id_fkey'), 'applicant_contacts', 'applicant_profiles', ['sender_id'], ['id'])
op.create_foreign_key(op.f('applicant_contacts_status_id_fkey'), 'applicant_contacts', 'applicant_contact_statuses', ['status_id'], ['id'])
op.create_foreign_key(op.f('applicant_contacts_receiver_id_fkey'), 'applicant_contacts', 'applicant_profiles', ['receiver_id'], ['id'])
op.drop_constraint(None, 'applicant_contact_recommendations', schema='public', type_='foreignkey')
op.drop_constraint(None, 'applicant_contact_recommendations', schema='public', type_='foreignkey')
op.create_foreign_key(op.f('applicant_contact_recommendations_recipient_id_fkey'), 'applicant_contact_recommendations', 'applicant_profiles', ['recipient_id'], ['id'])
op.create_foreign_key(op.f('applicant_contact_recommendations_recommender_id_fkey'), 'applicant_contact_recommendations', 'applicant_profiles', ['recommender_id'], ['id'])
# ### end Alembic commands ###