Возможно, typeORM не может найти вашу сущность JavaScript.У меня была эта проблема некоторое время назад.Вы можете сделать следующее:
- Проверить папку назначения после создания проекта.Ваш
SysCompany.js
доступен? - Установите свойство
entities
в конфигурации.Он должен содержать путь к вашим объектам JS.Документы typeORM утверждают, что «каждая сущность должна быть зарегистрирована в ваших параметрах подключения».
{
"name": "second-connection",
"type": "postgres",
"host": "localhost",
"port": 5432,
"username": "postgres",
"password": "12345",
"database": "dbTwo"
"entities": ["<path to entities>/**/*.js"]
}
Я также рекомендовал бы использовать файл конфигурации JavaScript.Ваш ormconfig.js
может затем использовать __dirname
(имя каталога текущего модуля), чтобы установить путь.Поэтому, если ваши каталоги выглядят так:
project/ormconfig.js
project/dist/entity/SysCompany.js
project/dist/entity/OtherEntity.js
Вы можете использовать конфигурацию, подобную этой:
import {join} from "path";
...
entities: [
join(__dirname, "dist/entity/**/*.js")
],
...
Вы также можете предотвратить дублирование, используя базовый объект конфигурации.
import {join} from "path";
const baseOptions = {
type: "postgres",
host: "localhost",
port: 5432,
username: "postgres",
password: "12345",
entities: [
join(__dirname, "dist/entity/**/*.js")
]
}
const defaultConfig = Object.assign({
name: "default",
database: "dbOne",
}, baseOptions);
const secondConfig = Object.assign({
name: "second-connection",
database: "dbTwo",
}, baseOptions);
module.exports = [ defaultConfig, secondConfig ];
В файле, в котором вы открываете соединение, вы можете использовать импорт:
import { secondConfig } from "<path to file>/ormconfig";
const conTwo = await createConnection(secondConfig);