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)
- findOne/findOneOrFail should work without where param or with empty where param HOT 1
- SyntaxErrorException: [...] - syntax error at or near "<"
- MetadataError: Source file '$' not found. Check your 'entitiesTs' option [...]
- Explicit serialization throws error when serializing new embeddable HOT 4
- Problem with detected db_name
- Allowed different entity with same name
- docs: callout potentially breaking typescript version updates
- Renaming indexes generates faulty migration, drops existing indexes HOT 3
- docs: redundant nav link in the footer HOT 2
- QueryBuilder `execute` Method Doesn't Properly Map Embeddables HOT 7
- Composite primary keys in relations populates foreign keys with incorrect values HOT 4
- deprecated subdependencies
- array out of bounds error with columns shared in composite PK and FK HOT 1
- createForeignKeyConstraints Configuration options support in Migrations HOT 1
- Subsequent queries from identity cache don't honor field settings or exclude options HOT 1
- Not able to run migrations in MS SQL Server HOT 6
- docs: incorrect example code, bug: entity discovery
- MS SQL Get Database Existence query fails during application start HOT 2
- Mikro orm property initalizers not working when using minifed builds
- Nested Embeddables Prefix Not Respected
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.