diff --git a/cspell.config.yaml b/cspell.config.yaml index ada739ad..cd6460ec 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -17,6 +17,7 @@ words: - dquote - EPERM - fastapi + - fkey - flexbox - GHSA - githubcopilot @@ -36,6 +37,7 @@ words: - mongosh - mypy - networkidle + - nextval - npmjs - Nuxt - oneline @@ -44,10 +46,12 @@ words: - pgcrypto - PGPASSWORD - pids + - pkey - psql - Pydantic - pyproject - pytest + - regclass - RYUK - specifykit - speckit diff --git a/docs/schema/express-prisma/README.md b/docs/schema/express-prisma/README.md index edc37a14..a911f052 100644 --- a/docs/schema/express-prisma/README.md +++ b/docs/schema/express-prisma/README.md @@ -15,27 +15,6 @@ | express_prisma.ApplicationStatus | accepted, applied, interviewing, offered, rejected, unsubmitted | | express_prisma.CompanyCategory | enterprise, mid_market, other, scale_up, startup | | express_prisma.JobSource | company_website, job_board, other, recruiter, referral | -| graphql_yoga.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| graphql_yoga.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| graphql_yoga.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| java_spring.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| java_spring.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| java_spring.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| python_fastapi.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| python_fastapi.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| python_fastapi.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_koa.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_koa.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_koa.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_nestjs.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_nestjs.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_nestjs.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| svelte_hono.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| svelte_hono.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| svelte_hono.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| vue_nuxt.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| vue_nuxt.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| vue_nuxt.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | ## Relations diff --git a/docs/schema/express-prisma/express_prisma._prisma_migrations.md b/docs/schema/express-prisma/express_prisma._prisma_migrations.md deleted file mode 100644 index a51e6c0d..00000000 --- a/docs/schema/express-prisma/express_prisma._prisma_migrations.md +++ /dev/null @@ -1,55 +0,0 @@ -# express_prisma._prisma_migrations - -## Description - -## Columns - -| Name | Type | Default | Nullable | Children | Parents | Comment | -| ---- | ---- | ------- | -------- | -------- | ------- | ------- | -| id | varchar(36) | | false | | | | -| checksum | varchar(64) | | false | | | | -| finished_at | timestamp with time zone | | true | | | | -| migration_name | varchar(255) | | false | | | | -| logs | text | | true | | | | -| rolled_back_at | timestamp with time zone | | true | | | | -| started_at | timestamp with time zone | now() | false | | | | -| applied_steps_count | integer | 0 | false | | | | - -## Constraints - -| Name | Type | Definition | -| ---- | ---- | ---------- | -| _prisma_migrations_applied_steps_count_not_null | n | NOT NULL applied_steps_count | -| _prisma_migrations_checksum_not_null | n | NOT NULL checksum | -| _prisma_migrations_id_not_null | n | NOT NULL id | -| _prisma_migrations_migration_name_not_null | n | NOT NULL migration_name | -| _prisma_migrations_started_at_not_null | n | NOT NULL started_at | -| _prisma_migrations_pkey | PRIMARY KEY | PRIMARY KEY (id) | - -## Indexes - -| Name | Definition | -| ---- | ---------- | -| _prisma_migrations_pkey | CREATE UNIQUE INDEX _prisma_migrations_pkey ON express_prisma._prisma_migrations USING btree (id) | - -## Relations - -```mermaid -erDiagram - - -"express_prisma._prisma_migrations" { - id varchar_36_ - checksum varchar_64_ - finished_at timestamp_with_time_zone - migration_name varchar_255_ - logs text - rolled_back_at timestamp_with_time_zone - started_at timestamp_with_time_zone - applied_steps_count integer -} -``` - ---- - -> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/docs/schema/express-prisma/schema.json b/docs/schema/express-prisma/schema.json index 283d8736..86ef7ef9 100644 --- a/docs/schema/express-prisma/schema.json +++ b/docs/schema/express-prisma/schema.json @@ -590,349 +590,6 @@ "recruiter", "referral" ] - }, - { - "name": "graphql_yoga.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "graphql_yoga.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "graphql_yoga.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "java_spring.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "java_spring.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "java_spring.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "python_fastapi.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "python_fastapi.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "python_fastapi.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_koa.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_koa.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_koa.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_nestjs.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_nestjs.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_nestjs.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "svelte_hono.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "svelte_hono.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "svelte_hono.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "vue_nuxt.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "vue_nuxt.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "vue_nuxt.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] } ], "driver": { diff --git a/docs/schema/go-gin/README.md b/docs/schema/go-gin/README.md index 160b5670..dae7dc42 100644 --- a/docs/schema/go-gin/README.md +++ b/docs/schema/go-gin/README.md @@ -9,35 +9,6 @@ | [go_gin.application_snapshots](go_gin.application_snapshots.md) | 6 | | BASE TABLE | | [go_gin.schema_migrations](go_gin.schema_migrations.md) | 2 | | BASE TABLE | -## Enums - -| Name | Values | -| ---- | ------- | -| express_prisma.ApplicationStatus | accepted, applied, interviewing, offered, rejected, unsubmitted | -| express_prisma.CompanyCategory | enterprise, mid_market, other, scale_up, startup | -| express_prisma.JobSource | company_website, job_board, other, recruiter, referral | -| graphql_yoga.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| graphql_yoga.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| graphql_yoga.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| java_spring.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| java_spring.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| java_spring.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| python_fastapi.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| python_fastapi.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| python_fastapi.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_koa.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_koa.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_koa.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_nestjs.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_nestjs.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_nestjs.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| svelte_hono.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| svelte_hono.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| svelte_hono.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| vue_nuxt.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| vue_nuxt.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| vue_nuxt.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | - ## Relations ```mermaid diff --git a/docs/schema/go-gin/schema.json b/docs/schema/go-gin/schema.json index d2a37d78..b56050d0 100644 --- a/docs/schema/go-gin/schema.json +++ b/docs/schema/go-gin/schema.json @@ -206,7 +206,7 @@ { "name": "applications_skills_match_check", "type": "CHECK", - "def": "CHECK (((skills_match \u003e= 1) AND (skills_match \u003c= 5)))", + "def": "CHECK (((skills_match >= 1) AND (skills_match <= 5)))", "table": "go_gin.applications", "referenced_table": "", "columns": [ @@ -646,382 +646,6 @@ "def": "FOREIGN KEY (application_id) REFERENCES go_gin.applications(id) ON DELETE CASCADE" } ], - "enums": [ - { - "name": "express_prisma.ApplicationStatus", - "values": [ - "accepted", - "applied", - "interviewing", - "offered", - "rejected", - "unsubmitted" - ] - }, - { - "name": "express_prisma.CompanyCategory", - "values": [ - "enterprise", - "mid_market", - "other", - "scale_up", - "startup" - ] - }, - { - "name": "express_prisma.JobSource", - "values": [ - "company_website", - "job_board", - "other", - "recruiter", - "referral" - ] - }, - { - "name": "graphql_yoga.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "graphql_yoga.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "graphql_yoga.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "java_spring.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "java_spring.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "java_spring.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "python_fastapi.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "python_fastapi.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "python_fastapi.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_koa.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_koa.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_koa.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_nestjs.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_nestjs.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_nestjs.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "svelte_hono.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "svelte_hono.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "svelte_hono.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "vue_nuxt.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "vue_nuxt.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "vue_nuxt.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - } - ], "driver": { "name": "postgres", "database_version": "PostgreSQL 18.1 on aarch64-unknown-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit", diff --git a/docs/schema/graphql-yoga/README.md b/docs/schema/graphql-yoga/README.md index 502d9986..8437216d 100644 --- a/docs/schema/graphql-yoga/README.md +++ b/docs/schema/graphql-yoga/README.md @@ -13,30 +13,9 @@ | Name | Values | | ---- | ------- | -| express_prisma.ApplicationStatus | accepted, applied, interviewing, offered, rejected, unsubmitted | -| express_prisma.CompanyCategory | enterprise, mid_market, other, scale_up, startup | -| express_prisma.JobSource | company_website, job_board, other, recruiter, referral | | graphql_yoga.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | | graphql_yoga.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | | graphql_yoga.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| java_spring.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| java_spring.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| java_spring.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| python_fastapi.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| python_fastapi.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| python_fastapi.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_koa.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_koa.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_koa.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_nestjs.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_nestjs.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_nestjs.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| svelte_hono.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| svelte_hono.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| svelte_hono.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| vue_nuxt.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| vue_nuxt.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| vue_nuxt.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | ## Relations diff --git a/docs/schema/graphql-yoga/schema.json b/docs/schema/graphql-yoga/schema.json index 32a23074..f4c53235 100644 --- a/docs/schema/graphql-yoga/schema.json +++ b/docs/schema/graphql-yoga/schema.json @@ -667,37 +667,6 @@ } ], "enums": [ - { - "name": "express_prisma.ApplicationStatus", - "values": [ - "accepted", - "applied", - "interviewing", - "offered", - "rejected", - "unsubmitted" - ] - }, - { - "name": "express_prisma.CompanyCategory", - "values": [ - "enterprise", - "mid_market", - "other", - "scale_up", - "startup" - ] - }, - { - "name": "express_prisma.JobSource", - "values": [ - "company_website", - "job_board", - "other", - "recruiter", - "referral" - ] - }, { "name": "graphql_yoga.application_status", "values": [ @@ -746,300 +715,6 @@ "other", "recruiter" ] - }, - { - "name": "java_spring.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "java_spring.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "java_spring.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "python_fastapi.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "python_fastapi.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "python_fastapi.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_koa.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_koa.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_koa.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_nestjs.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_nestjs.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_nestjs.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "svelte_hono.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "svelte_hono.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "svelte_hono.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "vue_nuxt.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "vue_nuxt.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "vue_nuxt.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] } ], "driver": { diff --git a/docs/schema/java-spring/README.md b/docs/schema/java-spring/README.md index 71201537..dbcb4ac1 100644 --- a/docs/schema/java-spring/README.md +++ b/docs/schema/java-spring/README.md @@ -13,30 +13,9 @@ | Name | Values | | ---- | ------- | -| express_prisma.ApplicationStatus | accepted, applied, interviewing, offered, rejected, unsubmitted | -| express_prisma.CompanyCategory | enterprise, mid_market, other, scale_up, startup | -| express_prisma.JobSource | company_website, job_board, other, recruiter, referral | -| graphql_yoga.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| graphql_yoga.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| graphql_yoga.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | | java_spring.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | | java_spring.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | | java_spring.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| python_fastapi.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| python_fastapi.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| python_fastapi.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_koa.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_koa.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_koa.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_nestjs.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_nestjs.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_nestjs.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| svelte_hono.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| svelte_hono.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| svelte_hono.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| vue_nuxt.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| vue_nuxt.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| vue_nuxt.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | ## Relations diff --git a/docs/schema/java-spring/schema.json b/docs/schema/java-spring/schema.json index cb76ee99..e8f827bb 100644 --- a/docs/schema/java-spring/schema.json +++ b/docs/schema/java-spring/schema.json @@ -367,7 +367,7 @@ { "name": "applications_skills_match_check", "type": "CHECK", - "def": "CHECK (((skills_match \u003e= 1) AND (skills_match \u003c= 10)))", + "def": "CHECK (((skills_match >= 1) AND (skills_match <= 10)))", "table": "java_spring.applications", "referenced_table": "", "columns": [ @@ -528,7 +528,7 @@ { "name": "interview_stages_performance_rating_check", "type": "CHECK", - "def": "CHECK (((performance_rating \u003e= 1) AND (performance_rating \u003c= 5)))", + "def": "CHECK (((performance_rating >= 1) AND (performance_rating <= 5)))", "table": "java_spring.interview_stages", "referenced_table": "", "columns": [ @@ -762,86 +762,6 @@ } ], "enums": [ - { - "name": "express_prisma.ApplicationStatus", - "values": [ - "accepted", - "applied", - "interviewing", - "offered", - "rejected", - "unsubmitted" - ] - }, - { - "name": "express_prisma.CompanyCategory", - "values": [ - "enterprise", - "mid_market", - "other", - "scale_up", - "startup" - ] - }, - { - "name": "express_prisma.JobSource", - "values": [ - "company_website", - "job_board", - "other", - "recruiter", - "referral" - ] - }, - { - "name": "graphql_yoga.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "graphql_yoga.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "graphql_yoga.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, { "name": "java_spring.application_status", "values": [ @@ -890,251 +810,6 @@ "other", "recruiter" ] - }, - { - "name": "python_fastapi.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "python_fastapi.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "python_fastapi.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_koa.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_koa.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_koa.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_nestjs.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_nestjs.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_nestjs.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "svelte_hono.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "svelte_hono.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "svelte_hono.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "vue_nuxt.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "vue_nuxt.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "vue_nuxt.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] } ], "driver": { diff --git a/docs/schema/python-fastapi/README.md b/docs/schema/python-fastapi/README.md index 5570f1d6..56d4dcc6 100644 --- a/docs/schema/python-fastapi/README.md +++ b/docs/schema/python-fastapi/README.md @@ -12,30 +12,9 @@ | Name | Values | | ---- | ------- | -| express_prisma.ApplicationStatus | accepted, applied, interviewing, offered, rejected, unsubmitted | -| express_prisma.CompanyCategory | enterprise, mid_market, other, scale_up, startup | -| express_prisma.JobSource | company_website, job_board, other, recruiter, referral | -| graphql_yoga.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| graphql_yoga.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| graphql_yoga.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| java_spring.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| java_spring.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| java_spring.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | | python_fastapi.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | | python_fastapi.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | | python_fastapi.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_koa.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_koa.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_koa.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_nestjs.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_nestjs.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_nestjs.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| svelte_hono.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| svelte_hono.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| svelte_hono.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| vue_nuxt.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| vue_nuxt.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| vue_nuxt.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | ## Relations diff --git a/docs/schema/python-fastapi/schema.json b/docs/schema/python-fastapi/schema.json index 08afa7a0..d1d47698 100644 --- a/docs/schema/python-fastapi/schema.json +++ b/docs/schema/python-fastapi/schema.json @@ -500,135 +500,6 @@ } ], "enums": [ - { - "name": "express_prisma.ApplicationStatus", - "values": [ - "accepted", - "applied", - "interviewing", - "offered", - "rejected", - "unsubmitted" - ] - }, - { - "name": "express_prisma.CompanyCategory", - "values": [ - "enterprise", - "mid_market", - "other", - "scale_up", - "startup" - ] - }, - { - "name": "express_prisma.JobSource", - "values": [ - "company_website", - "job_board", - "other", - "recruiter", - "referral" - ] - }, - { - "name": "graphql_yoga.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "graphql_yoga.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "graphql_yoga.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "java_spring.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "java_spring.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "java_spring.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, { "name": "python_fastapi.application_status", "values": [ @@ -677,202 +548,6 @@ "other", "recruiter" ] - }, - { - "name": "react_koa.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_koa.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_koa.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_nestjs.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_nestjs.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_nestjs.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "svelte_hono.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "svelte_hono.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "svelte_hono.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "vue_nuxt.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "vue_nuxt.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "vue_nuxt.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] } ], "driver": { diff --git a/docs/schema/react-koa/README.md b/docs/schema/react-koa/README.md index 2fe3937c..cbae84be 100644 --- a/docs/schema/react-koa/README.md +++ b/docs/schema/react-koa/README.md @@ -28,30 +28,9 @@ | Name | Values | | ---- | ------- | -| express_prisma.ApplicationStatus | accepted, applied, interviewing, offered, rejected, unsubmitted | -| express_prisma.CompanyCategory | enterprise, mid_market, other, scale_up, startup | -| express_prisma.JobSource | company_website, job_board, other, recruiter, referral | -| graphql_yoga.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| graphql_yoga.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| graphql_yoga.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| java_spring.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| java_spring.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| java_spring.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| python_fastapi.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| python_fastapi.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| python_fastapi.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | | react_koa.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | | react_koa.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | | react_koa.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_nestjs.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_nestjs.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_nestjs.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| svelte_hono.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| svelte_hono.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| svelte_hono.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| vue_nuxt.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| vue_nuxt.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| vue_nuxt.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | ## Relations diff --git a/docs/schema/react-koa/schema.json b/docs/schema/react-koa/schema.json index 599fcf98..13a26c21 100644 --- a/docs/schema/react-koa/schema.json +++ b/docs/schema/react-koa/schema.json @@ -213,7 +213,7 @@ { "name": "applications_notes_check", "type": "CHECK", - "def": "CHECK (((notes IS NULL) OR (length(notes) \u003c= 5000)))", + "def": "CHECK (((notes IS NULL) OR (length(notes) <= 5000)))", "table": "react_koa.applications", "referenced_table": "", "columns": [ @@ -233,7 +233,7 @@ { "name": "applications_salary_max_check", "type": "CHECK", - "def": "CHECK (((salary_max IS NULL) OR (salary_max \u003e= 0)))", + "def": "CHECK (((salary_max IS NULL) OR (salary_max >= 0)))", "table": "react_koa.applications", "referenced_table": "", "columns": [ @@ -243,7 +243,7 @@ { "name": "applications_salary_min_check", "type": "CHECK", - "def": "CHECK (((salary_min IS NULL) OR (salary_min \u003e= 0)))", + "def": "CHECK (((salary_min IS NULL) OR (salary_min >= 0)))", "table": "react_koa.applications", "referenced_table": "", "columns": [ @@ -253,7 +253,7 @@ { "name": "applications_skills_match_check", "type": "CHECK", - "def": "CHECK (((skills_match IS NULL) OR ((skills_match \u003e= 1) AND (skills_match \u003c= 5))))", + "def": "CHECK (((skills_match IS NULL) OR ((skills_match >= 1) AND (skills_match <= 5))))", "table": "react_koa.applications", "referenced_table": "", "columns": [ @@ -417,7 +417,7 @@ { "name": "interview_stages_notes_check", "type": "CHECK", - "def": "CHECK (((notes IS NULL) OR (length(notes) \u003c= 2000)))", + "def": "CHECK (((notes IS NULL) OR (length(notes) <= 2000)))", "table": "react_koa.interview_stages", "referenced_table": "", "columns": [ @@ -437,7 +437,7 @@ { "name": "interview_stages_performance_rating_check", "type": "CHECK", - "def": "CHECK (((performance_rating IS NULL) OR ((performance_rating \u003e= 1) AND (performance_rating \u003c= 5))))", + "def": "CHECK (((performance_rating IS NULL) OR ((performance_rating >= 1) AND (performance_rating <= 5))))", "table": "react_koa.interview_stages", "referenced_table": "", "columns": [ @@ -709,184 +709,6 @@ } ], "enums": [ - { - "name": "express_prisma.ApplicationStatus", - "values": [ - "accepted", - "applied", - "interviewing", - "offered", - "rejected", - "unsubmitted" - ] - }, - { - "name": "express_prisma.CompanyCategory", - "values": [ - "enterprise", - "mid_market", - "other", - "scale_up", - "startup" - ] - }, - { - "name": "express_prisma.JobSource", - "values": [ - "company_website", - "job_board", - "other", - "recruiter", - "referral" - ] - }, - { - "name": "graphql_yoga.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "graphql_yoga.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "graphql_yoga.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "java_spring.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "java_spring.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "java_spring.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "python_fastapi.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "python_fastapi.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "python_fastapi.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, { "name": "react_koa.application_status", "values": [ @@ -935,153 +757,6 @@ "other", "recruiter" ] - }, - { - "name": "react_nestjs.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_nestjs.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_nestjs.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "svelte_hono.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "svelte_hono.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "svelte_hono.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "vue_nuxt.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "vue_nuxt.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "vue_nuxt.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] } ], "driver": { diff --git a/docs/schema/react-nestjs-history/README.md b/docs/schema/react-nestjs-history/README.md index a57baf4b..a5cc6e69 100644 --- a/docs/schema/react-nestjs-history/README.md +++ b/docs/schema/react-nestjs-history/README.md @@ -8,35 +8,6 @@ | [react_nestjs_history.knex_migrations](react_nestjs_history.knex_migrations.md) | 4 | | BASE TABLE | | [react_nestjs_history.knex_migrations_lock](react_nestjs_history.knex_migrations_lock.md) | 2 | | BASE TABLE | -## Enums - -| Name | Values | -| ---- | ------- | -| express_prisma.ApplicationStatus | accepted, applied, interviewing, offered, rejected, unsubmitted | -| express_prisma.CompanyCategory | enterprise, mid_market, other, scale_up, startup | -| express_prisma.JobSource | company_website, job_board, other, recruiter, referral | -| graphql_yoga.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| graphql_yoga.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| graphql_yoga.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| java_spring.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| java_spring.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| java_spring.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| python_fastapi.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| python_fastapi.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| python_fastapi.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_koa.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_koa.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_koa.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_nestjs.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_nestjs.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_nestjs.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| svelte_hono.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| svelte_hono.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| svelte_hono.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| vue_nuxt.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| vue_nuxt.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| vue_nuxt.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | - ## Relations ```mermaid diff --git a/docs/schema/react-nestjs-history/schema.json b/docs/schema/react-nestjs-history/schema.json index 85e1b022..d59a3959 100644 --- a/docs/schema/react-nestjs-history/schema.json +++ b/docs/schema/react-nestjs-history/schema.json @@ -259,382 +259,6 @@ ] } ], - "enums": [ - { - "name": "express_prisma.ApplicationStatus", - "values": [ - "accepted", - "applied", - "interviewing", - "offered", - "rejected", - "unsubmitted" - ] - }, - { - "name": "express_prisma.CompanyCategory", - "values": [ - "enterprise", - "mid_market", - "other", - "scale_up", - "startup" - ] - }, - { - "name": "express_prisma.JobSource", - "values": [ - "company_website", - "job_board", - "other", - "recruiter", - "referral" - ] - }, - { - "name": "graphql_yoga.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "graphql_yoga.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "graphql_yoga.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "java_spring.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "java_spring.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "java_spring.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "python_fastapi.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "python_fastapi.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "python_fastapi.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_koa.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_koa.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_koa.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_nestjs.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_nestjs.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_nestjs.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "svelte_hono.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "svelte_hono.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "svelte_hono.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "vue_nuxt.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "vue_nuxt.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "vue_nuxt.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - } - ], "driver": { "name": "postgres", "database_version": "PostgreSQL 18.1 on aarch64-unknown-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit", diff --git a/docs/schema/react-nestjs/README.md b/docs/schema/react-nestjs/README.md index 4ca5033a..62aea4b0 100644 --- a/docs/schema/react-nestjs/README.md +++ b/docs/schema/react-nestjs/README.md @@ -7,38 +7,14 @@ | [react_nestjs.application_history](react_nestjs.application_history.md) | 6 | | BASE TABLE | | [react_nestjs.applications](react_nestjs.applications.md) | 20 | | BASE TABLE | | [react_nestjs.interview_stages](react_nestjs.interview_stages.md) | 8 | | BASE TABLE | -| [react_nestjs_history.application_history](react_nestjs_history.application_history.md) | 6 | | BASE TABLE | -| [react_nestjs_history.knex_migrations](react_nestjs_history.knex_migrations.md) | 4 | | BASE TABLE | -| [react_nestjs_history.knex_migrations_lock](react_nestjs_history.knex_migrations_lock.md) | 2 | | BASE TABLE | ## Enums | Name | Values | | ---- | ------- | -| express_prisma.ApplicationStatus | accepted, applied, interviewing, offered, rejected, unsubmitted | -| express_prisma.CompanyCategory | enterprise, mid_market, other, scale_up, startup | -| express_prisma.JobSource | company_website, job_board, other, recruiter, referral | -| graphql_yoga.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| graphql_yoga.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| graphql_yoga.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| java_spring.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| java_spring.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| java_spring.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| python_fastapi.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| python_fastapi.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| python_fastapi.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_koa.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_koa.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_koa.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | | react_nestjs.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | | react_nestjs.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | | react_nestjs.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| svelte_hono.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| svelte_hono.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| svelte_hono.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| vue_nuxt.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| vue_nuxt.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| vue_nuxt.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | ## Relations @@ -88,24 +64,6 @@ erDiagram notes text performance_rating integer } -"react_nestjs_history.application_history" { - id uuid - application_id uuid - sequence integer - description text - snapshot jsonb - created_at timestamp_with_time_zone -} -"react_nestjs_history.knex_migrations" { - id integer - name varchar_255_ - batch integer - migration_time timestamp_with_time_zone -} -"react_nestjs_history.knex_migrations_lock" { - index integer - is_locked integer -} ``` --- diff --git a/docs/schema/react-nestjs/react_nestjs_history.application_history.md b/docs/schema/react-nestjs/react_nestjs_history.application_history.md deleted file mode 100644 index cf595217..00000000 --- a/docs/schema/react-nestjs/react_nestjs_history.application_history.md +++ /dev/null @@ -1,53 +0,0 @@ -# react_nestjs_history.application_history - -## Columns - -| Name | Type | Default | Nullable | Children | Parents | Comment | -| ---- | ---- | ------- | -------- | -------- | ------- | ------- | -| id | uuid | gen_random_uuid() | false | | | | -| application_id | uuid | | false | | | | -| sequence | integer | | false | | | | -| description | text | | false | | | | -| snapshot | jsonb | | false | | | | -| created_at | timestamp with time zone | CURRENT_TIMESTAMP | false | | | | - -## Constraints - -| Name | Type | Definition | -| ---- | ---- | ---------- | -| application_history_application_id_not_null | n | NOT NULL application_id | -| application_history_created_at_not_null | n | NOT NULL created_at | -| application_history_description_not_null | n | NOT NULL description | -| application_history_id_not_null | n | NOT NULL id | -| application_history_sequence_not_null | n | NOT NULL sequence | -| application_history_snapshot_not_null | n | NOT NULL snapshot | -| application_history_pkey | PRIMARY KEY | PRIMARY KEY (id) | -| uq_history_app_sequence | UNIQUE | UNIQUE (application_id, sequence) | - -## Indexes - -| Name | Definition | -| ---- | ---------- | -| application_history_pkey | CREATE UNIQUE INDEX application_history_pkey ON react_nestjs_history.application_history USING btree (id) | -| idx_history_app_sequence | CREATE INDEX idx_history_app_sequence ON react_nestjs_history.application_history USING btree (application_id, sequence) | -| uq_history_app_sequence | CREATE UNIQUE INDEX uq_history_app_sequence ON react_nestjs_history.application_history USING btree (application_id, sequence) | - -## Relations - -```mermaid -erDiagram - - -"react_nestjs_history.application_history" { - id uuid - application_id uuid - sequence integer - description text - snapshot jsonb - created_at timestamp_with_time_zone -} -``` - ---- - -> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/docs/schema/react-nestjs/react_nestjs_history.knex_migrations.md b/docs/schema/react-nestjs/react_nestjs_history.knex_migrations.md deleted file mode 100644 index 5896ed5e..00000000 --- a/docs/schema/react-nestjs/react_nestjs_history.knex_migrations.md +++ /dev/null @@ -1,41 +0,0 @@ -# react_nestjs_history.knex_migrations - -## Columns - -| Name | Type | Default | Nullable | Children | Parents | Comment | -| ---- | ---- | ------- | -------- | -------- | ------- | ------- | -| id | integer | nextval('react_nestjs_history.knex_migrations_id_seq'::regclass) | false | | | | -| name | varchar(255) | | true | | | | -| batch | integer | | true | | | | -| migration_time | timestamp with time zone | | true | | | | - -## Constraints - -| Name | Type | Definition | -| ---- | ---- | ---------- | -| knex_migrations_id_not_null | n | NOT NULL id | -| knex_migrations_pkey | PRIMARY KEY | PRIMARY KEY (id) | - -## Indexes - -| Name | Definition | -| ---- | ---------- | -| knex_migrations_pkey | CREATE UNIQUE INDEX knex_migrations_pkey ON react_nestjs_history.knex_migrations USING btree (id) | - -## Relations - -```mermaid -erDiagram - - -"react_nestjs_history.knex_migrations" { - id integer - name varchar_255_ - batch integer - migration_time timestamp_with_time_zone -} -``` - ---- - -> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/docs/schema/react-nestjs/react_nestjs_history.knex_migrations_lock.md b/docs/schema/react-nestjs/react_nestjs_history.knex_migrations_lock.md deleted file mode 100644 index 5500ca46..00000000 --- a/docs/schema/react-nestjs/react_nestjs_history.knex_migrations_lock.md +++ /dev/null @@ -1,37 +0,0 @@ -# react_nestjs_history.knex_migrations_lock - -## Columns - -| Name | Type | Default | Nullable | Children | Parents | Comment | -| ---- | ---- | ------- | -------- | -------- | ------- | ------- | -| index | integer | nextval('react_nestjs_history.knex_migrations_lock_index_seq'::regclass) | false | | | | -| is_locked | integer | | true | | | | - -## Constraints - -| Name | Type | Definition | -| ---- | ---- | ---------- | -| knex_migrations_lock_index_not_null | n | NOT NULL index | -| knex_migrations_lock_pkey | PRIMARY KEY | PRIMARY KEY (index) | - -## Indexes - -| Name | Definition | -| ---- | ---------- | -| knex_migrations_lock_pkey | CREATE UNIQUE INDEX knex_migrations_lock_pkey ON react_nestjs_history.knex_migrations_lock USING btree (index) | - -## Relations - -```mermaid -erDiagram - - -"react_nestjs_history.knex_migrations_lock" { - index integer - is_locked integer -} -``` - ---- - -> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/docs/schema/react-nestjs/schema.json b/docs/schema/react-nestjs/schema.json index cb8c22fc..5b15055a 100644 --- a/docs/schema/react-nestjs/schema.json +++ b/docs/schema/react-nestjs/schema.json @@ -466,263 +466,6 @@ ] } ] - }, - { - "name": "react_nestjs_history.application_history", - "type": "BASE TABLE", - "columns": [ - { - "name": "id", - "type": "uuid", - "nullable": false, - "default": "gen_random_uuid()" - }, - { - "name": "application_id", - "type": "uuid", - "nullable": false - }, - { - "name": "sequence", - "type": "integer", - "nullable": false - }, - { - "name": "description", - "type": "text", - "nullable": false - }, - { - "name": "snapshot", - "type": "jsonb", - "nullable": false - }, - { - "name": "created_at", - "type": "timestamp with time zone", - "nullable": false, - "default": "CURRENT_TIMESTAMP" - } - ], - "indexes": [ - { - "name": "application_history_pkey", - "def": "CREATE UNIQUE INDEX application_history_pkey ON react_nestjs_history.application_history USING btree (id)", - "table": "react_nestjs_history.application_history", - "columns": [ - "id" - ] - }, - { - "name": "idx_history_app_sequence", - "def": "CREATE INDEX idx_history_app_sequence ON react_nestjs_history.application_history USING btree (application_id, sequence)", - "table": "react_nestjs_history.application_history", - "columns": [ - "application_id", - "sequence" - ] - }, - { - "name": "uq_history_app_sequence", - "def": "CREATE UNIQUE INDEX uq_history_app_sequence ON react_nestjs_history.application_history USING btree (application_id, sequence)", - "table": "react_nestjs_history.application_history", - "columns": [ - "application_id", - "sequence" - ] - } - ], - "constraints": [ - { - "name": "application_history_application_id_not_null", - "type": "n", - "def": "NOT NULL application_id", - "table": "react_nestjs_history.application_history", - "referenced_table": "", - "columns": [ - "application_id" - ] - }, - { - "name": "application_history_created_at_not_null", - "type": "n", - "def": "NOT NULL created_at", - "table": "react_nestjs_history.application_history", - "referenced_table": "", - "columns": [ - "created_at" - ] - }, - { - "name": "application_history_description_not_null", - "type": "n", - "def": "NOT NULL description", - "table": "react_nestjs_history.application_history", - "referenced_table": "", - "columns": [ - "description" - ] - }, - { - "name": "application_history_id_not_null", - "type": "n", - "def": "NOT NULL id", - "table": "react_nestjs_history.application_history", - "referenced_table": "", - "columns": [ - "id" - ] - }, - { - "name": "application_history_sequence_not_null", - "type": "n", - "def": "NOT NULL sequence", - "table": "react_nestjs_history.application_history", - "referenced_table": "", - "columns": [ - "sequence" - ] - }, - { - "name": "application_history_snapshot_not_null", - "type": "n", - "def": "NOT NULL snapshot", - "table": "react_nestjs_history.application_history", - "referenced_table": "", - "columns": [ - "snapshot" - ] - }, - { - "name": "application_history_pkey", - "type": "PRIMARY KEY", - "def": "PRIMARY KEY (id)", - "table": "react_nestjs_history.application_history", - "referenced_table": "", - "columns": [ - "id" - ] - }, - { - "name": "uq_history_app_sequence", - "type": "UNIQUE", - "def": "UNIQUE (application_id, sequence)", - "table": "react_nestjs_history.application_history", - "referenced_table": "", - "columns": [ - "application_id", - "sequence" - ] - } - ] - }, - { - "name": "react_nestjs_history.knex_migrations", - "type": "BASE TABLE", - "columns": [ - { - "name": "id", - "type": "integer", - "nullable": false, - "default": "nextval('react_nestjs_history.knex_migrations_id_seq'::regclass)" - }, - { - "name": "name", - "type": "varchar(255)", - "nullable": true - }, - { - "name": "batch", - "type": "integer", - "nullable": true - }, - { - "name": "migration_time", - "type": "timestamp with time zone", - "nullable": true - } - ], - "indexes": [ - { - "name": "knex_migrations_pkey", - "def": "CREATE UNIQUE INDEX knex_migrations_pkey ON react_nestjs_history.knex_migrations USING btree (id)", - "table": "react_nestjs_history.knex_migrations", - "columns": [ - "id" - ] - } - ], - "constraints": [ - { - "name": "knex_migrations_id_not_null", - "type": "n", - "def": "NOT NULL id", - "table": "react_nestjs_history.knex_migrations", - "referenced_table": "", - "columns": [ - "id" - ] - }, - { - "name": "knex_migrations_pkey", - "type": "PRIMARY KEY", - "def": "PRIMARY KEY (id)", - "table": "react_nestjs_history.knex_migrations", - "referenced_table": "", - "columns": [ - "id" - ] - } - ] - }, - { - "name": "react_nestjs_history.knex_migrations_lock", - "type": "BASE TABLE", - "columns": [ - { - "name": "index", - "type": "integer", - "nullable": false, - "default": "nextval('react_nestjs_history.knex_migrations_lock_index_seq'::regclass)" - }, - { - "name": "is_locked", - "type": "integer", - "nullable": true - } - ], - "indexes": [ - { - "name": "knex_migrations_lock_pkey", - "def": "CREATE UNIQUE INDEX knex_migrations_lock_pkey ON react_nestjs_history.knex_migrations_lock USING btree (index)", - "table": "react_nestjs_history.knex_migrations_lock", - "columns": [ - "index" - ] - } - ], - "constraints": [ - { - "name": "knex_migrations_lock_index_not_null", - "type": "n", - "def": "NOT NULL index", - "table": "react_nestjs_history.knex_migrations_lock", - "referenced_table": "", - "columns": [ - "index" - ] - }, - { - "name": "knex_migrations_lock_pkey", - "type": "PRIMARY KEY", - "def": "PRIMARY KEY (index)", - "table": "react_nestjs_history.knex_migrations_lock", - "referenced_table": "", - "columns": [ - "index" - ] - } - ] } ], "relations": [ @@ -754,233 +497,6 @@ } ], "enums": [ - { - "name": "express_prisma.ApplicationStatus", - "values": [ - "accepted", - "applied", - "interviewing", - "offered", - "rejected", - "unsubmitted" - ] - }, - { - "name": "express_prisma.CompanyCategory", - "values": [ - "enterprise", - "mid_market", - "other", - "scale_up", - "startup" - ] - }, - { - "name": "express_prisma.JobSource", - "values": [ - "company_website", - "job_board", - "other", - "recruiter", - "referral" - ] - }, - { - "name": "graphql_yoga.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "graphql_yoga.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "graphql_yoga.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "java_spring.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "java_spring.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "java_spring.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "python_fastapi.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "python_fastapi.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "python_fastapi.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_koa.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_koa.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_koa.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, { "name": "react_nestjs.application_status", "values": [ @@ -1029,104 +545,6 @@ "other", "recruiter" ] - }, - { - "name": "svelte_hono.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "svelte_hono.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "svelte_hono.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "vue_nuxt.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "vue_nuxt.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "vue_nuxt.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] } ], "driver": { diff --git a/docs/schema/ruby-rails/README.md b/docs/schema/ruby-rails/README.md index 4d0e1cff..1c0e9854 100644 --- a/docs/schema/ruby-rails/README.md +++ b/docs/schema/ruby-rails/README.md @@ -4,39 +4,12 @@ | Name | Columns | Comment | Type | | ---- | ------- | ------- | ---- | +| [ruby_rails.schema_migrations](ruby_rails.schema_migrations.md) | 1 | | BASE TABLE | +| [ruby_rails.internal_metadata](ruby_rails.internal_metadata.md) | 4 | | BASE TABLE | | [ruby_rails.applications](ruby_rails.applications.md) | 20 | | BASE TABLE | | [ruby_rails.interview_stages](ruby_rails.interview_stages.md) | 8 | | BASE TABLE | | [ruby_rails.application_snapshots](ruby_rails.application_snapshots.md) | 6 | | BASE TABLE | -## Enums - -| Name | Values | -| ---- | ------- | -| express_prisma.ApplicationStatus | accepted, applied, interviewing, offered, rejected, unsubmitted | -| express_prisma.CompanyCategory | enterprise, mid_market, other, scale_up, startup | -| express_prisma.JobSource | company_website, job_board, other, recruiter, referral | -| graphql_yoga.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| graphql_yoga.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| graphql_yoga.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| java_spring.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| java_spring.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| java_spring.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| python_fastapi.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| python_fastapi.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| python_fastapi.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_koa.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_koa.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_koa.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_nestjs.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_nestjs.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_nestjs.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| svelte_hono.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| svelte_hono.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| svelte_hono.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| vue_nuxt.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| vue_nuxt.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| vue_nuxt.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | - ## Relations ```mermaid @@ -45,6 +18,15 @@ erDiagram "ruby_rails.interview_stages" }o--|| "ruby_rails.applications" : "FOREIGN KEY (application_id) REFERENCES ruby_rails.applications(id) ON DELETE CASCADE" "ruby_rails.application_snapshots" }o--|| "ruby_rails.applications" : "FOREIGN KEY (application_id) REFERENCES ruby_rails.applications(id) ON DELETE CASCADE" +"ruby_rails.schema_migrations" { + version varchar +} +"ruby_rails.internal_metadata" { + key varchar + value varchar + created_at timestamp_6__without_time_zone + updated_at timestamp_6__without_time_zone +} "ruby_rails.applications" { id uuid company_name varchar_200_ diff --git a/docs/schema/ruby-rails/ruby_rails.internal_metadata.md b/docs/schema/ruby-rails/ruby_rails.internal_metadata.md new file mode 100644 index 00000000..3b38f62f --- /dev/null +++ b/docs/schema/ruby-rails/ruby_rails.internal_metadata.md @@ -0,0 +1,43 @@ +# ruby_rails.internal_metadata + +## Columns + +| Name | Type | Default | Nullable | Children | Parents | Comment | +| ---- | ---- | ------- | -------- | -------- | ------- | ------- | +| key | varchar | | false | | | | +| value | varchar | | true | | | | +| created_at | timestamp(6) without time zone | | false | | | | +| updated_at | timestamp(6) without time zone | | false | | | | + +## Constraints + +| Name | Type | Definition | +| ---- | ---- | ---------- | +| internal_metadata_created_at_not_null | n | NOT NULL created_at | +| internal_metadata_key_not_null | n | NOT NULL key | +| internal_metadata_updated_at_not_null | n | NOT NULL updated_at | +| internal_metadata_pkey | PRIMARY KEY | PRIMARY KEY (key) | + +## Indexes + +| Name | Definition | +| ---- | ---------- | +| internal_metadata_pkey | CREATE UNIQUE INDEX internal_metadata_pkey ON ruby_rails.internal_metadata USING btree (key) | + +## Relations + +```mermaid +erDiagram + + +"ruby_rails.internal_metadata" { + key varchar + value varchar + created_at timestamp_6__without_time_zone + updated_at timestamp_6__without_time_zone +} +``` + +--- + +> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/docs/schema/ruby-rails/ruby_rails.schema_migrations.md b/docs/schema/ruby-rails/ruby_rails.schema_migrations.md new file mode 100644 index 00000000..6c185b3a --- /dev/null +++ b/docs/schema/ruby-rails/ruby_rails.schema_migrations.md @@ -0,0 +1,35 @@ +# ruby_rails.schema_migrations + +## Columns + +| Name | Type | Default | Nullable | Children | Parents | Comment | +| ---- | ---- | ------- | -------- | -------- | ------- | ------- | +| version | varchar | | false | | | | + +## Constraints + +| Name | Type | Definition | +| ---- | ---- | ---------- | +| schema_migrations_version_not_null | n | NOT NULL version | +| schema_migrations_pkey | PRIMARY KEY | PRIMARY KEY (version) | + +## Indexes + +| Name | Definition | +| ---- | ---------- | +| schema_migrations_pkey | CREATE UNIQUE INDEX schema_migrations_pkey ON ruby_rails.schema_migrations USING btree (version) | + +## Relations + +```mermaid +erDiagram + + +"ruby_rails.schema_migrations" { + version varchar +} +``` + +--- + +> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/docs/schema/ruby-rails/schema.json b/docs/schema/ruby-rails/schema.json index fe0f0d0b..a3fd65e2 100644 --- a/docs/schema/ruby-rails/schema.json +++ b/docs/schema/ruby-rails/schema.json @@ -1,6 +1,127 @@ { "name": "app_tracker", "tables": [ + { + "name": "ruby_rails.schema_migrations", + "type": "BASE TABLE", + "columns": [ + { + "name": "version", + "type": "varchar", + "nullable": false + } + ], + "indexes": [ + { + "name": "schema_migrations_pkey", + "def": "CREATE UNIQUE INDEX schema_migrations_pkey ON ruby_rails.schema_migrations USING btree (version)", + "table": "ruby_rails.schema_migrations", + "columns": [ + "version" + ] + } + ], + "constraints": [ + { + "name": "schema_migrations_version_not_null", + "type": "n", + "def": "NOT NULL version", + "table": "ruby_rails.schema_migrations", + "referenced_table": "", + "columns": [ + "version" + ] + }, + { + "name": "schema_migrations_pkey", + "type": "PRIMARY KEY", + "def": "PRIMARY KEY (version)", + "table": "ruby_rails.schema_migrations", + "referenced_table": "", + "columns": [ + "version" + ] + } + ] + }, + { + "name": "ruby_rails.internal_metadata", + "type": "BASE TABLE", + "columns": [ + { + "name": "key", + "type": "varchar", + "nullable": false + }, + { + "name": "value", + "type": "varchar", + "nullable": true + }, + { + "name": "created_at", + "type": "timestamp(6) without time zone", + "nullable": false + }, + { + "name": "updated_at", + "type": "timestamp(6) without time zone", + "nullable": false + } + ], + "indexes": [ + { + "name": "internal_metadata_pkey", + "def": "CREATE UNIQUE INDEX internal_metadata_pkey ON ruby_rails.internal_metadata USING btree (key)", + "table": "ruby_rails.internal_metadata", + "columns": [ + "key" + ] + } + ], + "constraints": [ + { + "name": "internal_metadata_created_at_not_null", + "type": "n", + "def": "NOT NULL created_at", + "table": "ruby_rails.internal_metadata", + "referenced_table": "", + "columns": [ + "created_at" + ] + }, + { + "name": "internal_metadata_key_not_null", + "type": "n", + "def": "NOT NULL key", + "table": "ruby_rails.internal_metadata", + "referenced_table": "", + "columns": [ + "key" + ] + }, + { + "name": "internal_metadata_updated_at_not_null", + "type": "n", + "def": "NOT NULL updated_at", + "table": "ruby_rails.internal_metadata", + "referenced_table": "", + "columns": [ + "updated_at" + ] + }, + { + "name": "internal_metadata_pkey", + "type": "PRIMARY KEY", + "def": "PRIMARY KEY (key)", + "table": "ruby_rails.internal_metadata", + "referenced_table": "", + "columns": [ + "key" + ] + } + ] + }, { "name": "ruby_rails.applications", "type": "BASE TABLE", @@ -581,382 +702,6 @@ "def": "FOREIGN KEY (application_id) REFERENCES ruby_rails.applications(id) ON DELETE CASCADE" } ], - "enums": [ - { - "name": "express_prisma.ApplicationStatus", - "values": [ - "accepted", - "applied", - "interviewing", - "offered", - "rejected", - "unsubmitted" - ] - }, - { - "name": "express_prisma.CompanyCategory", - "values": [ - "enterprise", - "mid_market", - "other", - "scale_up", - "startup" - ] - }, - { - "name": "express_prisma.JobSource", - "values": [ - "company_website", - "job_board", - "other", - "recruiter", - "referral" - ] - }, - { - "name": "graphql_yoga.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "graphql_yoga.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "graphql_yoga.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "java_spring.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "java_spring.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "java_spring.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "python_fastapi.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "python_fastapi.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "python_fastapi.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_koa.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_koa.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_koa.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_nestjs.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_nestjs.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_nestjs.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "svelte_hono.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "svelte_hono.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "svelte_hono.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "vue_nuxt.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "vue_nuxt.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "vue_nuxt.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - } - ], "driver": { "name": "postgres", "database_version": "PostgreSQL 18.1 on aarch64-unknown-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit", diff --git a/docs/schema/svelte-hono/README.md b/docs/schema/svelte-hono/README.md index 43600140..27236d1b 100644 --- a/docs/schema/svelte-hono/README.md +++ b/docs/schema/svelte-hono/README.md @@ -12,30 +12,9 @@ | Name | Values | | ---- | ------- | -| express_prisma.ApplicationStatus | accepted, applied, interviewing, offered, rejected, unsubmitted | -| express_prisma.CompanyCategory | enterprise, mid_market, other, scale_up, startup | -| express_prisma.JobSource | company_website, job_board, other, recruiter, referral | -| graphql_yoga.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| graphql_yoga.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| graphql_yoga.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| java_spring.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| java_spring.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| java_spring.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| python_fastapi.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| python_fastapi.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| python_fastapi.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_koa.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_koa.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_koa.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_nestjs.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_nestjs.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_nestjs.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | | svelte_hono.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | | svelte_hono.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | | svelte_hono.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| vue_nuxt.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| vue_nuxt.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| vue_nuxt.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | ## Relations diff --git a/docs/schema/svelte-hono/schema.json b/docs/schema/svelte-hono/schema.json index ce8de687..54bf1d80 100644 --- a/docs/schema/svelte-hono/schema.json +++ b/docs/schema/svelte-hono/schema.json @@ -497,282 +497,6 @@ } ], "enums": [ - { - "name": "express_prisma.ApplicationStatus", - "values": [ - "accepted", - "applied", - "interviewing", - "offered", - "rejected", - "unsubmitted" - ] - }, - { - "name": "express_prisma.CompanyCategory", - "values": [ - "enterprise", - "mid_market", - "other", - "scale_up", - "startup" - ] - }, - { - "name": "express_prisma.JobSource", - "values": [ - "company_website", - "job_board", - "other", - "recruiter", - "referral" - ] - }, - { - "name": "graphql_yoga.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "graphql_yoga.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "graphql_yoga.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "java_spring.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "java_spring.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "java_spring.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "python_fastapi.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "python_fastapi.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "python_fastapi.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_koa.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_koa.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_koa.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_nestjs.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_nestjs.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_nestjs.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, { "name": "svelte_hono.application_status", "values": [ @@ -821,55 +545,6 @@ "other", "recruiter" ] - }, - { - "name": "vue_nuxt.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "vue_nuxt.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "vue_nuxt.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] } ], "driver": { diff --git a/docs/schema/vue-nuxt/README.md b/docs/schema/vue-nuxt/README.md index d7c7d0b4..2235d406 100644 --- a/docs/schema/vue-nuxt/README.md +++ b/docs/schema/vue-nuxt/README.md @@ -13,27 +13,6 @@ | Name | Values | | ---- | ------- | -| express_prisma.ApplicationStatus | accepted, applied, interviewing, offered, rejected, unsubmitted | -| express_prisma.CompanyCategory | enterprise, mid_market, other, scale_up, startup | -| express_prisma.JobSource | company_website, job_board, other, recruiter, referral | -| graphql_yoga.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| graphql_yoga.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| graphql_yoga.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| java_spring.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| java_spring.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| java_spring.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| python_fastapi.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| python_fastapi.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| python_fastapi.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_koa.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_koa.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_koa.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| react_nestjs.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| react_nestjs.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| react_nestjs.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | -| svelte_hono.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | -| svelte_hono.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | -| svelte_hono.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | | vue_nuxt.application_status | accepted offer, applied, declined offer, given offer, interviewing, no offer, rejected, unsubmitted | | vue_nuxt.company_category | ai, climate, consulting, consumer-tech, cybersecurity, e-commerce, education, energy, enterprise-software, finance, gaming, government, health, hospitality, media-entertainment, nonprofit, other, restaurant, retail | | vue_nuxt.job_source | colleague, company-website, friend, indeed, linkedin, other, recruiter | diff --git a/docs/schema/vue-nuxt/schema.json b/docs/schema/vue-nuxt/schema.json index 1561a80b..9c965243 100644 --- a/docs/schema/vue-nuxt/schema.json +++ b/docs/schema/vue-nuxt/schema.json @@ -697,331 +697,6 @@ } ], "enums": [ - { - "name": "express_prisma.ApplicationStatus", - "values": [ - "accepted", - "applied", - "interviewing", - "offered", - "rejected", - "unsubmitted" - ] - }, - { - "name": "express_prisma.CompanyCategory", - "values": [ - "enterprise", - "mid_market", - "other", - "scale_up", - "startup" - ] - }, - { - "name": "express_prisma.JobSource", - "values": [ - "company_website", - "job_board", - "other", - "recruiter", - "referral" - ] - }, - { - "name": "graphql_yoga.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "graphql_yoga.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "graphql_yoga.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "java_spring.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "java_spring.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "java_spring.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "python_fastapi.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "python_fastapi.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "python_fastapi.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_koa.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_koa.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_koa.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "react_nestjs.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "react_nestjs.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "react_nestjs.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, - { - "name": "svelte_hono.application_status", - "values": [ - "accepted offer", - "applied", - "declined offer", - "given offer", - "interviewing", - "no offer", - "rejected", - "unsubmitted" - ] - }, - { - "name": "svelte_hono.company_category", - "values": [ - "ai", - "climate", - "consulting", - "consumer-tech", - "cybersecurity", - "e-commerce", - "education", - "energy", - "enterprise-software", - "finance", - "gaming", - "government", - "health", - "hospitality", - "media-entertainment", - "nonprofit", - "other", - "restaurant", - "retail" - ] - }, - { - "name": "svelte_hono.job_source", - "values": [ - "colleague", - "company-website", - "friend", - "indeed", - "linkedin", - "other", - "recruiter" - ] - }, { "name": "vue_nuxt.application_status", "values": [ diff --git a/scripts/generate-schema-docs.sh b/scripts/generate-schema-docs.sh index fcdf970a..1cd5994b 100755 --- a/scripts/generate-schema-docs.sh +++ b/scripts/generate-schema-docs.sh @@ -2,7 +2,7 @@ set -euo pipefail # Generate database schema documentation using tbls -# Requires: tbls, running PostgreSQL, valid DATABASE_URL +# Requires: tbls, jq, running PostgreSQL, valid DATABASE_URL # Check tbls is installed if ! command -v tbls &>/dev/null; then @@ -12,6 +12,15 @@ if ! command -v tbls &>/dev/null; then exit 1 fi +# jq is required by the schema.json post-process; silently skipping it +# (the previous behavior) leaves foreign-schema bleed in the JSON artifacts +# and violates the script's per-stack guarantee. +if ! command -v jq &>/dev/null; then + echo "Error: jq is not installed." >&2 + echo "Install it with: brew install jq" >&2 + exit 1 +fi + # Load DATABASE_URL from .env if not already set if [[ -z "${DATABASE_URL:-}" ]]; then if [[ ! -f .env ]]; then @@ -65,20 +74,84 @@ for entry in "${SCHEMAS[@]}"; do schema="${entry%%:*}" dir="${entry##*:}" echo "Generating docs for ${schema}..." + # Clear before tbls writes — otherwise stale .md files (tables dropped from + # the DB, prior schema renames) survive forever and the Mermaid column-swap + # toggles their content on every run. + rm -rf -- "${DOC_DIR:?}/${dir:?}" tbls doc "${DB_URL}" "${DOC_DIR}/${dir}" \ --include "${schema}.*" \ --er-format mermaid \ --force done -# Post-process: swap column order in Mermaid ERDs from "type name" to "name type" +# Post-process: swap column order in Mermaid ERDs from "type name" to "name type". +# Scoped to per-schema dirs that tbls regenerates this run — applying the swap to +# .md files outside SCHEMAS (e.g. lambda-api's hand-written DynamoDB docs) would +# corrupt them. The swap regex unconditionally flips column positions, so the +# script must be invoked at most once per `tbls doc` regeneration. echo "Swapping column order in Mermaid diagrams..." -perl -i -0777 -pe ' - s/(```mermaid.*?```)/ - my $block = $1; - $block =~ s{^(\s+)(\w\S*)\s+(\w\S*)(\s+FK)?$}{$1 . $3 . " " . $2 . ($4 || "")}mge; - $block; - /gse -' "${DOC_DIR}"/**/*.md +for entry in "${SCHEMAS[@]}"; do + dir="${entry##*:}" + perl -i -0777 -pe ' + s/(```mermaid.*?```)/ + my $block = $1; + $block =~ s{^(\s+)(\w\S*)\s+(\w\S*)(\s+FK)?$}{$1 . $3 . " " . $2 . ($4 || "")}mge; + $block; + /gse + ' "${DOC_DIR}/${dir}"/*.md +done + +# Post-process: strip foreign-schema content that tbls leaks past --include. +# tbls's --include filters tables but not pg_type enums; it also treats the dot +# in ".*" as a regex (matching any char), so schemas whose names share a +# prefix (react_nestjs vs react_nestjs_history) bleed tables/entities into each +# other's docs. We post-process per-schema READMEs, schema.json files, and +# delete leaked per-table .md files. +echo "Filtering foreign-schema content from per-stack docs..." +for entry in "${SCHEMAS[@]}"; do + schema="${entry%%:*}" + dir="${entry##*:}" + readme="${DOC_DIR}/${dir}/README.md" + schema_json="${DOC_DIR}/${dir}/schema.json" + + # Collect every other schema's name; used to delete leaked per-table .md files. + others=() + for other_entry in "${SCHEMAS[@]}"; do + other="${other_entry%%:*}" + [[ "$other" != "$schema" ]] && others+=("$other") + done + + if [[ -f "$readme" ]]; then + OWN_SCHEMA="$schema" perl -i -0777 -pe ' + my $own = $ENV{OWN_SCHEMA}; + # Drop markdown table rows whose first cell starts with a foreign schema. + # Matches both Enums rows ("| schema.Foo |") and Tables rows ("| [schema.foo](link) |"). + s/^(\| \[?(\w+)\.[^\n]*\n)/$2 eq $own ? $1 : ""/gme; + # Drop Mermaid entity blocks "." { ... } whose schema is foreign. + s/^("(\w+)\.[^"]+" \{[^}]*\}\n)/$2 eq $own ? $1 : ""/gmse; + # Drop Mermaid relation lines where either side references a foreign schema. + s/^("(\w+)\.[^"]+" \}[^"\n]*"(\w+)\.[^"]+"[^\n]*\n)/($2 eq $own && $3 eq $own) ? $1 : ""/gme; + # Drop ## Enums section if no own-schema rows remain (header + empty table only). + s/^## Enums\n\n\| Name \| Values \|\n\| ---- \| ------- \|\n\n+(?=## |\z)//gm; + ' "$readme" + fi + + if [[ -f "$schema_json" ]]; then + tmp_json="$(mktemp)" + # Filter both .tables and .enums to own-schema entries only. Drop the + # .enums key entirely when no own-schema enums remain (e.g. ruby_rails + # uses VARCHAR + model-level inclusion validation, not Postgres enums). + jq --arg own "${schema}." ' + .tables = (.tables | map(select(.name | startswith($own)))) + | .enums = ((.enums // []) | map(select(.name | startswith($own)))) + | if (.enums | length) == 0 then del(.enums) else . end + ' "$schema_json" > "$tmp_json" && mv "$tmp_json" "$schema_json" + fi + + for other in "${others[@]}"; do + # Bash 3 lacks nullglob; rm -f silently no-ops when the glob has no matches. + rm -f "${DOC_DIR}/${dir}/${other}."*.md + done +done echo "Done. Schema docs written to ${DOC_DIR}/"