sql >> Database >  >> RDS >> PostgreSQL

TypeORM ondersteunt de database-instelling op de entiteitdecorateur niet

Dit is een instellingsprobleem. Ik heb het als volgt opgelost:

  1. Wijzig de array entities dus elke verbinding/database heeft zijn eigen map met entiteitsbestanden en noem de entiteit die u het meest gebruikt als default :
// src/index.ts
 await createConnections([
      {
        name: 'default',
        host: 'SERVER1',
        username: 'bob',
        password: 'kiwi,
        type: 'mssql',
        database: 'db1',
        ...
       "synchronize": true,
       "entities": ["src/db1/entity/**/*.ts"],
      },
      {
        name: 'connection2,
        host: 'SERVER2',
        username: 'Mike',
        password: 'carrot',
        type: 'mssql',
        database: 'db2,
        ...
       "synchronize": true,
       "entities": ["src/db2/entity/**/*.ts"],
    ])
  1. Maak entiteitsbestanden voor elke database in de respectievelijke map:
    • src/db1/entity/Fruit.ts> tabel in db1
    • src/db2/entity/Vegetables.ts> tabel in db2

Met "synchronize": true elke tabel wordt automatisch in de juiste database aangemaakt

  1. Toegang tot gegevens in de tabellen:
    • Voor de default verbinding::
import { Fruit} from 'src/db1/entity/Fruit.ts'
  fruits() {
    return Fruit.find()
  }
  • Voor de niet-standaard verbinding:
import { getRepository } from 'typeorm'
import { Vegetable} from 'src/db2/entity/Vegetable.ts'
  vegetables() {
      return async () => await getRepository(Vegetable).find()
  }

of

  async vegetables() {
    return await getRepository(vegetables, 'connection2').find()
  }

Ik hoop dat dit iemand anders helpt die met dezelfde problemen worstelt als jij en ik.




  1. MariaDB LENGTHB() uitgelegd

  2. Selecteer unieke rijen, op basis van waarde in een secundaire kolom

  3. Waarde IS NIET NULL in codeigniter

  4. Alle resultaten in postgresql weergeven?