sql >> Databasteknik >  >> RDS >> PostgreSQL

TypeORM stöder inte databasinställningen på enhetsdekoratorn

Detta är ett installationsproblem. Jag löste det så här:

  1. Ändra array-entities så varje anslutning/databas har sin egen mapp med entitetsfiler och namnge den enhet du använder mest som 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. Skapa entitetsfiler för varje databas i dess respektive mapp:
    • src/db1/entity/Fruit.ts> tabell i db1
    • src/db2/entity/Vegetables.ts> tabell i db2

Med "synchronize": true varje tabell skapas automatiskt i rätt databas

  1. Åtkomst till data i tabellerna:
    • För default anslutning::
import { Fruit} from 'src/db1/entity/Fruit.ts'
  fruits() {
    return Fruit.find()
  }
  • För anslutningen som inte är standard:
import { getRepository } from 'typeorm'
import { Vegetable} from 'src/db2/entity/Vegetable.ts'
  vegetables() {
      return async () => await getRepository(Vegetable).find()
  }

eller

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

Jag hoppas att detta hjälper någon annan som kämpar med samma problem som du och jag.




  1. OracleCommandBuilder.DeriveParameters() kastar OracleException:ORA-06564:objektet finns inte ORA-06512:på SYS.DBMS_UTILITY

  2. Skriv GeoDataFrame till SQL Database

  3. Oracle LIMIT n,m ekvivalent

  4. Hur man mappar PostgreSQL enum med JPA och Hibernate