Merge branch 'ghb-11-22-createtable'
This commit is contained in:
File diff suppressed because one or more lines are too long
26
docs/.vitepress/cache/deps/_metadata.json
vendored
26
docs/.vitepress/cache/deps/_metadata.json
vendored
@@ -1,4 +1,5 @@
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< HEAD
|
||||
"hash": "f01e8699",
|
||||
"configHash": "180cc241",
|
||||
@@ -10,30 +11,45 @@
|
||||
"lockfileHash": "d0a71e3e",
|
||||
"browserHash": "ab8f4b96",
|
||||
>>>>>>> zzm
|
||||
=======
|
||||
"hash": "8bc55d47",
|
||||
"configHash": "b81bb1f1",
|
||||
"lockfileHash": "2742585f",
|
||||
"browserHash": "65f4ed22",
|
||||
>>>>>>> ghb-11-22-createtable
|
||||
"optimized": {
|
||||
"vue": {
|
||||
"src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
|
||||
"file": "vue.js",
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< HEAD
|
||||
"fileHash": "ffd8baa8",
|
||||
=======
|
||||
"fileHash": "4de6bb48",
|
||||
>>>>>>> zzm
|
||||
=======
|
||||
"fileHash": "349f3f49",
|
||||
>>>>>>> ghb-11-22-createtable
|
||||
"needsInterop": false
|
||||
},
|
||||
"vitepress > @vue/devtools-api": {
|
||||
"src": "../../../../node_modules/@vue/devtools-api/dist/index.js",
|
||||
"file": "vitepress___@vue_devtools-api.js",
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< HEAD
|
||||
"fileHash": "c91fbfa8",
|
||||
=======
|
||||
"fileHash": "05a8531e",
|
||||
>>>>>>> zzm
|
||||
=======
|
||||
"fileHash": "0f3f40ef",
|
||||
>>>>>>> ghb-11-22-createtable
|
||||
"needsInterop": false
|
||||
},
|
||||
"vitepress > @vueuse/core": {
|
||||
"src": "../../../../node_modules/vitepress/node_modules/@vueuse/core/index.mjs",
|
||||
"src": "../../../../node_modules/vitepress/node_modules/@vueuse/core/dist/index.js",
|
||||
"file": "vitepress___@vueuse_core.js",
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< HEAD
|
||||
"fileHash": "b91f8785",
|
||||
=======
|
||||
@@ -49,10 +65,14 @@
|
||||
=======
|
||||
"fileHash": "29ee9ca0",
|
||||
>>>>>>> zzm
|
||||
=======
|
||||
"fileHash": "4cda59eb",
|
||||
>>>>>>> ghb-11-22-createtable
|
||||
"needsInterop": false
|
||||
}
|
||||
},
|
||||
"chunks": {
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< HEAD
|
||||
"chunk-SMHOW2GZ": {
|
||||
"file": "chunk-SMHOW2GZ.js"
|
||||
@@ -63,6 +83,10 @@
|
||||
},
|
||||
"chunk-SFNBNC2X": {
|
||||
"file": "chunk-SFNBNC2X.js"
|
||||
=======
|
||||
"chunk-32NP4N34": {
|
||||
"file": "chunk-32NP4N34.js"
|
||||
>>>>>>> ghb-11-22-createtable
|
||||
}
|
||||
}
|
||||
}
|
||||
12759
docs/.vitepress/cache/deps/chunk-32NP4N34.js
vendored
Normal file
12759
docs/.vitepress/cache/deps/chunk-32NP4N34.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
docs/.vitepress/cache/deps/chunk-32NP4N34.js.map
vendored
Normal file
7
docs/.vitepress/cache/deps/chunk-32NP4N34.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
36
docs/.vitepress/cache/deps/chunk-SFNBNC2X.js
vendored
36
docs/.vitepress/cache/deps/chunk-SFNBNC2X.js
vendored
@@ -49,10 +49,10 @@ var isBuiltInDirective = makeMap(
|
||||
);
|
||||
var cacheStringFunction = (fn) => {
|
||||
const cache = /* @__PURE__ */ Object.create(null);
|
||||
return (str) => {
|
||||
return ((str) => {
|
||||
const hit = cache[str];
|
||||
return hit || (cache[str] = fn(str));
|
||||
};
|
||||
});
|
||||
};
|
||||
var camelizeRE = /-\w/g;
|
||||
var camelize = cacheStringFunction(
|
||||
@@ -11469,9 +11469,9 @@ function defineCustomElement(options, extraOptions, _createApp) {
|
||||
VueCustomElement.def = Comp;
|
||||
return VueCustomElement;
|
||||
}
|
||||
var defineSSRCustomElement = (options, extraOptions) => {
|
||||
var defineSSRCustomElement = ((options, extraOptions) => {
|
||||
return defineCustomElement(options, extraOptions, createSSRApp);
|
||||
};
|
||||
});
|
||||
var BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
|
||||
};
|
||||
var VueElement = class _VueElement extends BaseClass {
|
||||
@@ -12368,13 +12368,13 @@ var modifierGuards = {
|
||||
var withModifiers = (fn, modifiers) => {
|
||||
const cache = fn._withMods || (fn._withMods = {});
|
||||
const cacheKey = modifiers.join(".");
|
||||
return cache[cacheKey] || (cache[cacheKey] = (event, ...args) => {
|
||||
return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
|
||||
for (let i = 0; i < modifiers.length; i++) {
|
||||
const guard = modifierGuards[modifiers[i]];
|
||||
if (guard && guard(event, modifiers)) return;
|
||||
}
|
||||
return fn(event, ...args);
|
||||
});
|
||||
}));
|
||||
};
|
||||
var keyNames = {
|
||||
esc: "escape",
|
||||
@@ -12388,7 +12388,7 @@ var keyNames = {
|
||||
var withKeys = (fn, modifiers) => {
|
||||
const cache = fn._withKeys || (fn._withKeys = {});
|
||||
const cacheKey = modifiers.join(".");
|
||||
return cache[cacheKey] || (cache[cacheKey] = (event) => {
|
||||
return cache[cacheKey] || (cache[cacheKey] = ((event) => {
|
||||
if (!("key" in event)) {
|
||||
return;
|
||||
}
|
||||
@@ -12398,7 +12398,7 @@ var withKeys = (fn, modifiers) => {
|
||||
)) {
|
||||
return fn(event);
|
||||
}
|
||||
});
|
||||
}));
|
||||
};
|
||||
var rendererOptions = extend({ patchProp }, nodeOps);
|
||||
var renderer;
|
||||
@@ -12411,13 +12411,13 @@ function ensureHydrationRenderer() {
|
||||
enabledHydration = true;
|
||||
return renderer;
|
||||
}
|
||||
var render = (...args) => {
|
||||
var render = ((...args) => {
|
||||
ensureRenderer().render(...args);
|
||||
};
|
||||
var hydrate = (...args) => {
|
||||
});
|
||||
var hydrate = ((...args) => {
|
||||
ensureHydrationRenderer().hydrate(...args);
|
||||
};
|
||||
var createApp = (...args) => {
|
||||
});
|
||||
var createApp = ((...args) => {
|
||||
const app = ensureRenderer().createApp(...args);
|
||||
if (true) {
|
||||
injectNativeTagCheck(app);
|
||||
@@ -12442,8 +12442,8 @@ var createApp = (...args) => {
|
||||
return proxy;
|
||||
};
|
||||
return app;
|
||||
};
|
||||
var createSSRApp = (...args) => {
|
||||
});
|
||||
var createSSRApp = ((...args) => {
|
||||
const app = ensureHydrationRenderer().createApp(...args);
|
||||
if (true) {
|
||||
injectNativeTagCheck(app);
|
||||
@@ -12457,7 +12457,7 @@ var createSSRApp = (...args) => {
|
||||
}
|
||||
};
|
||||
return app;
|
||||
};
|
||||
});
|
||||
function resolveRootNamespace(container) {
|
||||
if (container instanceof SVGElement) {
|
||||
return "svg";
|
||||
@@ -12715,6 +12715,7 @@ export {
|
||||
initDirectivesForSSR,
|
||||
compile2 as compile
|
||||
};
|
||||
<<<<<<<< HEAD:docs/.vitepress/cache/deps/chunk-SFNBNC2X.js
|
||||
/*! Bundled license information:
|
||||
|
||||
@vue/shared/dist/shared.esm-bundler.js:
|
||||
@@ -12753,3 +12754,6 @@ vue/dist/vue.runtime.esm-bundler.js:
|
||||
**)
|
||||
*/
|
||||
//# sourceMappingURL=chunk-SFNBNC2X.js.map
|
||||
========
|
||||
//# sourceMappingURL=chunk-32NP4N34.js.map
|
||||
>>>>>>>> ghb-11-22-createtable:docs/.vitepress/cache/deps/chunk-32NP4N34.js
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
8390
docs/.vitepress/cache/deps/vitepress___@vueuse_core.js
vendored
8390
docs/.vitepress/cache/deps/vitepress___@vueuse_core.js
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
5
docs/.vitepress/cache/deps/vue.js
vendored
5
docs/.vitepress/cache/deps/vue.js
vendored
@@ -168,7 +168,11 @@ import {
|
||||
withMemo,
|
||||
withModifiers,
|
||||
withScopeId
|
||||
<<<<<<< HEAD
|
||||
} from "./chunk-SFNBNC2X.js";
|
||||
=======
|
||||
} from "./chunk-32NP4N34.js";
|
||||
>>>>>>> ghb-11-22-createtable
|
||||
export {
|
||||
BaseTransition,
|
||||
BaseTransitionPropsValidators,
|
||||
@@ -340,4 +344,3 @@ export {
|
||||
withModifiers,
|
||||
withScopeId
|
||||
};
|
||||
//# sourceMappingURL=vue.js.map
|
||||
|
||||
142
docs/ghb.md
142
docs/ghb.md
@@ -1,3 +1,143 @@
|
||||
龚涵博
|
||||
|
||||
contant:龚涵博111
|
||||
contant:# 数据库表结构文档
|
||||
|
||||
## 1. 用户表 (users)
|
||||
|
||||
| 字段名 | 说明 | 类型 | 约束 |
|
||||
|--------|------|------|------|
|
||||
| user_id | 用户ID | INT | 主键 |
|
||||
| username | 用户名 | VARCHAR | |
|
||||
| age | 年龄 | INT | |
|
||||
| education | 学历 | VARCHAR | |
|
||||
| work_experience | 工作经验 | VARCHAR | |
|
||||
| phone | 手机号 | VARCHAR | |
|
||||
| email | 邮箱 | VARCHAR | |
|
||||
| avatar | 头像 | VARCHAR | |
|
||||
| created_at | 创建时间 | TIMESTAMP | |
|
||||
| updated_at | 更新时间 | TIMESTAMP | |
|
||||
|
||||
## 2. 公司表 (companies)
|
||||
|
||||
| 字段名 | 说明 | 类型 | 约束 |
|
||||
|--------|------|------|------|
|
||||
| company_id | 公司ID | INT | 主键 |
|
||||
| company_name | 公司名称 | VARCHAR | |
|
||||
| industry | 行业 | VARCHAR | |
|
||||
| scale | 公司规模 | VARCHAR | |
|
||||
| nature | 企业性质 | VARCHAR | |
|
||||
| location | 所在地 | VARCHAR | |
|
||||
| description | 公司描述 | TEXT | |
|
||||
| contact_info | 联系信息 | VARCHAR | |
|
||||
| logo_url | 公司logo | VARCHAR | |
|
||||
| created_at | 创建时间 | TIMESTAMP | |
|
||||
| updated_at | 更新时间 | TIMESTAMP | |
|
||||
|
||||
## 3. 职位表 (jobs)
|
||||
|
||||
| 字段名 | 说明 | 类型 | 约束 |
|
||||
|--------|------|------|------|
|
||||
| job_id | 职位ID | INT | 主键 |
|
||||
| company_id | 公司ID | INT | 外键 |
|
||||
| job_title | 职位名称 | VARCHAR | |
|
||||
| job_industry | 职位行业 | VARCHAR | |
|
||||
| work_experience | 工作经验要求 | VARCHAR | |
|
||||
| salary_range | 薪资范围 | VARCHAR | |
|
||||
| education_requirement | 学历要求 | VARCHAR | |
|
||||
| work_location | 工作地点 | VARCHAR | |
|
||||
| job_description | 职位描述 | TEXT | |
|
||||
| employment_type | 全职/兼职 | VARCHAR | |
|
||||
| is_active | 是否有效 | BOOLEAN | |
|
||||
| created_at | 创建时间 | TIMESTAMP | |
|
||||
| updated_at | 更新时间 | TIMESTAMP | |
|
||||
|
||||
## 4. 人才简历表 (resumes)
|
||||
|
||||
| 字段名 | 说明 | 类型 | 约束 |
|
||||
|--------|------|------|------|
|
||||
| resume_id | 简历ID | INT | 主键 |
|
||||
| user_id | 用户ID | INT | 外键 |
|
||||
| expected_industry | 期望行业 | VARCHAR | |
|
||||
| expected_salary | 期望薪资 | VARCHAR | |
|
||||
| education_experience | 教育经历 | TEXT | |
|
||||
| work_experience | 工作经历 | TEXT | |
|
||||
| skills | 技能 | TEXT | |
|
||||
| is_public | 是否公开 | BOOLEAN | |
|
||||
| last_updated | 最后更新时间 | TIMESTAMP | |
|
||||
| created_at | 创建时间 | TIMESTAMP | |
|
||||
|
||||
## 5. 招聘活动表 (recruitment_events)
|
||||
|
||||
| 字段名 | 说明 | 类型 | 约束 |
|
||||
|--------|------|------|------|
|
||||
| event_id | 活动ID | INT | 主键 |
|
||||
| event_title | 活动标题 | VARCHAR | |
|
||||
| event_time | 活动时间 | TIMESTAMP | |
|
||||
| location | 活动地点 | VARCHAR | |
|
||||
| description | 活动描述 | TEXT | |
|
||||
| organizer | 主办方 | VARCHAR | |
|
||||
| event_type | 活动类型 | VARCHAR | |
|
||||
| status | 状态 | VARCHAR | |
|
||||
| created_at | 创建时间 | TIMESTAMP | |
|
||||
| updated_at | 更新时间 | TIMESTAMP | |
|
||||
|
||||
## 6. 资讯政策表 (news_policies)
|
||||
|
||||
| 字段名 | 说明 | 类型 | 约束 |
|
||||
|--------|------|------|------|
|
||||
| news_id | 资讯ID | INT | 主键 |
|
||||
| title | 标题 | VARCHAR | |
|
||||
| content | 内容 | TEXT | |
|
||||
| type | 类型 | VARCHAR | |
|
||||
| publish_time | 发布时间 | TIMESTAMP | |
|
||||
| source | 来源 | VARCHAR | |
|
||||
| is_top | 是否置顶 | BOOLEAN | |
|
||||
| created_at | 创建时间 | TIMESTAMP | |
|
||||
|
||||
## 7. 热门搜索表 (hot_searches)
|
||||
|
||||
| 字段名 | 说明 | 类型 | 约束 |
|
||||
|--------|------|------|------|
|
||||
| search_id | 搜索ID | INT | 主键 |
|
||||
| keyword | 搜索关键词 | VARCHAR | |
|
||||
| search_type | 搜索类型 | VARCHAR | |
|
||||
| search_count | 搜索次数 | INT | |
|
||||
| display_order | 显示顺序 | INT | |
|
||||
| is_active | 是否有效 | BOOLEAN | |
|
||||
| created_at | 创建时间 | TIMESTAMP | |
|
||||
|
||||
## 关联关系表
|
||||
|
||||
### 8. 人才期望行业表 (resume_industries)
|
||||
|
||||
| 字段名 | 说明 | 类型 | 约束 |
|
||||
|--------|------|------|------|
|
||||
| id | ID | INT | 主键 |
|
||||
| resume_id | 简历ID | INT | 外键 |
|
||||
| industry_id | 行业ID | INT | |
|
||||
|
||||
### 9. 活动参与表 (event_participants)
|
||||
|
||||
| 字段名 | 说明 | 类型 | 约束 |
|
||||
|--------|------|------|------|
|
||||
| id | ID | INT | 主键 |
|
||||
| event_id | 活动ID | INT | 外键 |
|
||||
| company_id | 公司ID | INT | 外键 |
|
||||
| participant_type | 参与类型 | VARCHAR | |
|
||||
|
||||
### 10. 行业分类表 (industries)
|
||||
|
||||
| 字段名 | 说明 | 类型 | 约束 |
|
||||
|--------|------|------|------|
|
||||
| industry_id | 行业ID | INT | 主键 |
|
||||
| industry_name | 行业名称 | VARCHAR | |
|
||||
| parent_id | 父级ID | INT | |
|
||||
| level | 层级 | INT | |
|
||||
| created_at | 创建时间 | TIMESTAMP | |
|
||||
|
||||
## 表关系说明
|
||||
|
||||
- 用户表 ↔ 人才简历表:一对多(一个用户可以有多个简历版本)
|
||||
- 公司表 ↔ 职位表:一对多(一个公司发布多个职位)
|
||||
- 人才简历表 ↔ 人才期望行业表:一对多(一个简历对应多个期望行业)
|
||||
- 招聘活动表 ↔ 活动参与表:一对多(一个活动多个参与公司)
|
||||
Reference in New Issue
Block a user