Comments (1)
I just stumbled upon this very same issue.
Here is the test for it:
import { BigIntType, Entity, OneToOne, PrimaryKey, Property, Reference } from '@mikro-orm/core'
import { MikroORM, PostgreSqlDriver } from '@mikro-orm/postgresql'
import { mockLogger } from '../helpers'
@Entity()
export class Game {
@PrimaryKey({ type: new BigIntType('number') })
id!: number
@Property({ length: 255 })
name!: string
@OneToOne({ entity: 'Gameplay', mappedBy: 'game' })
gameplay!: Reference<Gameplay>
}
@Entity()
export class Gameplay {
@OneToOne({ entity: () => Game, primary: true, inversedBy: 'gameplay', joinColumn: 'id' })
game!: Game
@Property({ nullable: false, default: false })
inChallenge: boolean = false
}
describe('MikroORM', () => {
let orm: MikroORM
beforeAll(async () => {
orm = await MikroORM.init({
host: 'localhost',
port: 5432,
user: 'mikro-orm-test',
password: 'mikro-orm-test',
dbName: 'mikro-orm-test',
driver: PostgreSqlDriver,
debug: true,
entities: [Game, Gameplay],
})
await orm.schema.refreshDatabase({ wrap: true })
})
afterAll(async () => {
await orm.close(true)
})
it('should not fire extra query if all data is already available', async () => {
let em = orm.em.fork()
const gameplay = new Gameplay()
const game = new Game()
game.id = 1
game.name = 'The Game'
game.gameplay = Reference.create(gameplay)
em.persist(game)
await em.flush()
em = orm.em.fork()
const mock = mockLogger(orm)
await em.findOneOrFail(
Gameplay,
{ game: { id: 1 } },
{
populate: ['game'],
},
)
console.log(mock.mock.calls)
expect(mock.mock.calls).toHaveLength(1)
})
})
from mikro-orm.
Related Issues (20)
- Upsert with Embeddings gives InvalidFieldNameException Postgresql
- Cursor pagination `first: 0` returns all items HOT 1
- Infinite cycle when querying an entity HOT 2
- Cannot find matching entity for condition" when using upsertMany HOT 1
- there is not enough being logged when having an index conflict in mongodb
- OnCreate property hook not executed when using Scalar Reference HOT 1
- "Source file '...' not found." error occurs since version 6.2.2-dev.7 with Bun. HOT 2
- PostgreSQL malformed query when using query builder, joining a sub-query + ManyToMany where-condition + setting a limit
- MikroORM should merge all changes of one record into one sql update statement HOT 1
- Serialised entity is populated instead of FK HOT 2
- pnpm + vitest + esm+ MikroORM.init = Unknown file extension ".ts"
- docs: Unwrapping Nested Objects using Embeddables or Custom Types
- Can't debug findOne results in VSCode when instance is populated with related OneToMany / ManyToMany relation.
- Optimistic locking not working with upsert HOT 3
- Setting LockMode with disabled identity map results in error
- Extra updates on embedded entities with camelCase field name HOT 2
- docs: Comparison with other ORM / query builder / SQL libraries
- Modules for DB Dialetica not Found
- Entity discovery on TsMorphMetadataProvider broken since 6.2.2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mikro-orm.