改进
This commit is contained in:
parent
d5c8f3ff52
commit
3f28963e1e
@ -1,4 +1,3 @@
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=auth
|
||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -3,4 +3,6 @@
|
||||
node_modules/
|
||||
build/
|
||||
tmp/
|
||||
temp/
|
||||
temp/
|
||||
yarn.lock
|
||||
ormconfig.json
|
@ -3,5 +3,5 @@
|
||||
Steps to run this project:
|
||||
|
||||
1. Run `npm i` command
|
||||
2. Setup database settings inside `data-source.ts` file
|
||||
2. Setup database settings inside `database.ts` file
|
||||
3. Run `npm start` command
|
||||
|
16
main.ts
16
main.ts
@ -1,21 +1,7 @@
|
||||
import express from 'express';
|
||||
import logger from 'morgan'
|
||||
import path from 'path'
|
||||
|
||||
const app = express();
|
||||
import fs from 'fs'
|
||||
import dotenv from 'dotenv'
|
||||
|
||||
// 检测运行目录下是否有 .env 文件,如果没有,则创建
|
||||
const envPath = path.resolve(__dirname, '.env')
|
||||
if (!fs.existsSync(envPath)) {
|
||||
fs.writeFileSync(envPath, '')
|
||||
// log
|
||||
console.log('create .env file')
|
||||
}
|
||||
|
||||
// 加载 .env 文件
|
||||
dotenv.config()
|
||||
console.log(process.env)
|
||||
|
||||
import indexRouter from './src/routes/index'
|
||||
import usersRouter from './src/routes/users'
|
||||
|
@ -6,7 +6,7 @@
|
||||
"dependencies": {
|
||||
"express": "^4.18.2",
|
||||
"morgan": "^1.10.0",
|
||||
"mysql": "^2.14.1",
|
||||
"mysql2": "^3.6.2",
|
||||
"path": "^0.12.7",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"typeorm": "0.3.17"
|
||||
@ -19,7 +19,7 @@
|
||||
"typescript": "4.5.2"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "ts-node src/config/index.ts",
|
||||
"start": "ts-node main.ts",
|
||||
"typeorm": "typeorm-ts-node-commonjs"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +0,0 @@
|
||||
import "reflect-metadata"
|
||||
import { DataSource } from "typeorm"
|
||||
import { User } from "../entity/User"
|
||||
|
||||
export const AppDataSource = new DataSource({
|
||||
type: "mysql",
|
||||
host: "localhost",
|
||||
port: 3306,
|
||||
username: "test",
|
||||
password: "test",
|
||||
database: "test",
|
||||
synchronize: true,
|
||||
logging: false,
|
||||
entities: [User],
|
||||
migrations: [],
|
||||
subscribers: [],
|
||||
})
|
38
src/config/database.ts
Normal file
38
src/config/database.ts
Normal file
@ -0,0 +1,38 @@
|
||||
import "reflect-metadata"
|
||||
import { DataSource } from "typeorm"
|
||||
// import { User } from "../entity/User"/
|
||||
|
||||
import "./env"
|
||||
|
||||
const options = {
|
||||
type: "mysql",
|
||||
host: process.env.DB_HOST,
|
||||
port: Number(process.env.DB_PORT),
|
||||
username: process.env.DB_USERNAME,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_DATABASE,
|
||||
synchronize: true,
|
||||
logging: false,
|
||||
// entities: [User],
|
||||
entities: ["../entity/*.ts"],
|
||||
migrations: ["../migration/*.ts"],
|
||||
subscribers: [],
|
||||
}
|
||||
|
||||
console.log(options)
|
||||
|
||||
|
||||
export const AppDataSource = new DataSource({
|
||||
type: "mysql",
|
||||
host: process.env.DB_HOST,
|
||||
port: Number(process.env.DB_PORT),
|
||||
username: process.env.DB_USERNAME,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_DATABASE,
|
||||
synchronize: true,
|
||||
logging: false,
|
||||
// entities: [User],
|
||||
entities: ["../entity/*.ts"],
|
||||
migrations: ["../migration/*.ts"],
|
||||
subscribers: [],
|
||||
})
|
26
src/config/env.ts
Normal file
26
src/config/env.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import fs from 'fs'
|
||||
import dotenv from 'dotenv'
|
||||
|
||||
let is_loaded = false
|
||||
|
||||
if (!is_loaded) {
|
||||
// 检测运行目录下是否有 .env 文件,如果没有,则创建
|
||||
const envPath = process.cwd()
|
||||
|
||||
console.log(envPath)
|
||||
|
||||
if (!fs.existsSync(envPath)) {
|
||||
// 如果没有,则创建
|
||||
if (!fs.existsSync(envPath)) {
|
||||
console.log('create .env file at ' + envPath)
|
||||
fs.writeFileSync(envPath, '')
|
||||
}
|
||||
}
|
||||
|
||||
// 加载 .env 文件
|
||||
dotenv.config({
|
||||
path: envPath + '/.env'
|
||||
})
|
||||
|
||||
is_loaded = true
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
import { AppDataSource } from "./data-source"
|
||||
import { AppDataSource } from "./database"
|
||||
import { User } from "../entity/User"
|
||||
|
||||
AppDataSource.initialize().then(async () => {
|
||||
|
Loading…
Reference in New Issue
Block a user