Typeorm数据库无法启动?

时间:2020-10-28 12:56:23

标签: node.js express typeorm

我用选项init typeorm --database postgres --express引导了typeorm。

我更改了ormconfig以匹配数据库中的信息。

enter image description here

没有错误。但是似乎没有任何运行。

似乎我的数据库不是问题,因为它不会引发错误。

我想念什么吗?

以下是默认设置


// index.ts 

import 'reflect-metadata';
import { createConnection } from 'typeorm';
import * as express from 'express';
import * as bodyParser from 'body-parser';
import { Request, Response } from 'express';
import { Routes } from './routes';
import { User } from './entity/User';

createConnection()
    .then(async (connection) => {
        // create express app
        const app = express();
        app.use(bodyParser.json());

        // register express routes from defined application routes
        Routes.forEach((route) => {
            (app as any)[route.method](
                route.route,
                (req: Request, res: Response, next: Function) => {
                    const result = new (route.controller as any)()[route.action](
                        req,
                        res,
                        next
                    );
                    if (result instanceof Promise) {
                        result.then((result) =>
                            result !== null && result !== undefined
                                ? res.send(result)
                                : undefined
                        );
                    } else if (result !== null && result !== undefined) {
                        res.json(result);
                    }
                }
            );
        });

        // setup express app here
        // ...

        // start express server
        app.listen(8080);

        // insert new users for test
        await connection.manager.save(
            connection.manager.create(User, {
                firstName: 'Timber',
                lastName: 'Saw',
                age: 27,
            })
        );
        await connection.manager.save(
            connection.manager.create(User, {
                firstName: 'Phantom',
                lastName: 'Assassin',
                age: 24,
            })
        );

        console.log(
            'Express server has started on port 3000. Open http://localhost:3000/users to see results'
        );
    })
    .catch((error) => console.log(error));

2 个答案:

答案 0 :(得分:0)

我认为您没有配置数据库详细信息。您必须将 ormconfig 文件添加到您的项目中。

步骤 1 :- 在根目录中创建一个名为 ormconfig.ts 的文件。

第 2 步:- 将以下代码添加到该文件中,并将您的数据库详细信息放在这里。

{
  "type": "postgres", 
  "host": "localhost", 
  "port": 3306,
  "username": "root",
  "password": "",
  "database": "test",
  "synchronize": true,
  "entities": ["here put paths for your entities"],
}

答案 1 :(得分:0)

首先你必须使用 ormconfig 文件配置你的 typeorm 配置。