refactoring persistence

This commit is contained in:
Umed Khudoiberdiev 2017-10-31 10:51:33 +05:00
parent 731775ceb6
commit b0c37d67f4
103 changed files with 625 additions and 461 deletions

View File

@ -432,7 +432,7 @@ createConnection(/*...*/).then(async connection => {
let allPhotos = await photoRepository.find();
console.log("All photos from the db: ", allPhotos);
let firstPhoto = await photoRepository.findOneById(1);
let firstPhoto = await photoRepository.findOne(1);
console.log("First photo from the db: ", firstPhoto);
let meAndBearsPhoto = await photoRepository.findOne({ name: "Me and Bears" });
@ -462,7 +462,7 @@ import {Photo} from "./entity/Photo";
createConnection(/*...*/).then(async connection => {
/*...*/
let photoToUpdate = await photoRepository.findOneById(1);
let photoToUpdate = await photoRepository.findOne(1);
photoToUpdate.name = "Me, my friends and polar bears";
await photoRepository.save(photoToUpdate);
@ -483,7 +483,7 @@ import {Photo} from "./entity/Photo";
createConnection(/*...*/).then(async connection => {
/*...*/
let photoToRemove = await photoRepository.findOneById(1);
let photoToRemove = await photoRepository.findOne(1);
await photoRepository.remove(photoToRemove);
}).catch(error => console.log(error));

View File

@ -110,7 +110,7 @@ user.age = 25;
await repository.save(user);
const allUsers = await repository.find();
const firstUser = await repository.findOneById(1);
const firstUser = await repository.findOne(1);
const timber = await repository.findOne({ firstName: "Timber", lastName: "Saw" });
await repository.remove(timber);
@ -149,7 +149,7 @@ user.age = 25;
await user.save();
const allUsers = await User.find();
const firstUser = await User.findOneById(1);
const firstUser = await User.findOne(1);
const timber = await User.findOne({ firstName: "Timber", lastName: "Saw" });
await timber.remove();
@ -711,7 +711,7 @@ createConnection(/*...*/).then(async connection => {
let allPhotos = await photoRepository.find();
console.log("All photos from the db: ", allPhotos);
let firstPhoto = await photoRepository.findOneById(1);
let firstPhoto = await photoRepository.findOne(1);
console.log("First photo from the db: ", firstPhoto);
let meAndBearsPhoto = await photoRepository.findOne({ name: "Me and Bears" });
@ -741,7 +741,7 @@ import {Photo} from "./entity/Photo";
createConnection(/*...*/).then(async connection => {
/*...*/
let photoToUpdate = await photoRepository.findOneById(1);
let photoToUpdate = await photoRepository.findOne(1);
photoToUpdate.name = "Me, my friends and polar bears";
await photoRepository.save(photoToUpdate);
@ -761,7 +761,7 @@ import {Photo} from "./entity/Photo";
createConnection(/*...*/).then(async connection => {
/*...*/
let photoToRemove = await photoRepository.findOneById(1);
let photoToRemove = await photoRepository.findOne(1);
await photoRepository.remove(photoToRemove);
}).catch(error => console.log(error));
@ -1186,7 +1186,7 @@ await connection.manager.save(photo);
// now lets load them:
const loadedPhoto = await connection
.getRepository(Photo)
.findOneById(1, { relations: ["albums"] });
.findOne(1, { relations: ["albums"] });
```
`loadedPhoto` will be equal to:

View File

@ -156,7 +156,7 @@ Learn more about [Entity Manager and Repository](working-with-entity-manager.md)
```typescript
const manager: EntityManager = connection.manager;
// you can call manager methods, for example find:
const user = await manager.findOneById(1);
const user = await manager.findOne(1);
```
* `mongoManager` - `MongoEntityManager` used to work with connection entities in mongodb connections.
@ -165,7 +165,7 @@ For more information about MongoEntityManager see [MongoDB](./mongodb.md) docume
```typescript
const manager: MongoEntityManager = connection.mongoManager;
// you can call manager or mongodb-manager specific methods, for example find:
const user = await manager.findOneById(1);
const user = await manager.findOne(1);
```
* `connect` - Performs connection to the database.
@ -233,7 +233,7 @@ Learn more about [Repositories](working-with-entity-manager.md).
```typescript
const repository = connection.getRepository(User);
// now you can call repository methods, for example find:
const users = await repository.findOneById(1);
const users = await repository.findOne(1);
```
* `getTreeRepository` - Gets `TreeRepository` of the given entity.

View File

@ -184,7 +184,7 @@ export class UserController {
@Get("/users/:id")
getAll(@Param("id") userId: number) {
return getRepository(User).findOneById(User);
return getRepository(User).findOne(userId);
}
}

View File

@ -132,7 +132,7 @@ await connection.manager.save(question);
Example how to load objects inside lazy relations:
```typescript
const question = await connection.getRepository(Question).findOneById(1);
const question = await connection.getRepository(Question).findOne(1);
const answers = await question.answers;
// you'll have all question's answers inside "answers" variable now
```

View File

@ -173,16 +173,16 @@ When you save entities using `save` it always tries to find a entity in the data
If id/ids are found then it will update this row in the database.
If there is no row with the id/ids, a new row will be inserted.
To find a entity by id you can use `manager.findOneById` or `repository.findOneById`. Example:
To find a entity by id you can use `manager.findOne` or `repository.findOne`. Example:
```typescript
// find one by id with single primary key
const person = await connection.manager.findOneById(Person, 1);
const person = await connection.getRepository(Person).findOneById(1);
const person = await connection.manager.findOne(Person, 1);
const person = await connection.getRepository(Person).findOne(1);
// find one by id with composite primary keys
const user = await connection.manager.findOneById(User, { firstName: "Umed", lastName: "Khudoiberdiev" });
const user = await connection.getRepository(User).findOneById({ firstName: "Umed", lastName: "Khudoiberdiev" });
const user = await connection.manager.findOne(User, { firstName: "Timber", lastName: "Saw" });
const user = await connection.getRepository(User).findOne({ firstName: "Timber", lastName: "Saw" });
```
### Special columns

View File

@ -173,16 +173,11 @@ const [timbers, timbersCount] = await manager.findAndCount(User, { firstName: "T
const users = await manager.findByIds(User, [1, 2, 3]);
```
* `findOne` - Finds first entity that matches given find options.
```typescript
const timber = await manager.findOne(User, { firstName: "Timber" });
```
* `findOneById` - Finds entity with given id.
* `findOne` - Finds first entity that matches given id or find options.
```typescript
const user = await manager.findOne(User, 1);
const timber = await manager.findOne(User, { firstName: "Timber" });
```
* `clear` - Clears all the data from the given table (truncates/drops it).

View File

@ -213,7 +213,7 @@ createConnection().then(connection => {
});
app.get("/users/:id", async function(req: Request, res: Response) {
return userRepository.findOneById(req.params.id);
return userRepository.findOne(req.params.id);
});
app.post("/users", async function(req: Request, res: Response) {
@ -222,7 +222,7 @@ createConnection().then(connection => {
});
app.delete("/users/:id", async function(req: Request, res: Response) {
return userRepository.removeById(req.params.id);
return userRepository.remove(req.params.id);
});
// start express server

View File

@ -24,7 +24,7 @@ This code is equivalent to doing this:
import {getManager} from "typeorm";
const postRepository = getRepository(Post);
const post = await postRepository.findOneById(1, { relations: ["categories"] });
const post = await postRepository.findOne(1, { relations: ["categories"] });
post.categories.push(category);
await postRepository.save(post);
```
@ -110,7 +110,7 @@ To load those relations you can use following code:
```typescript
import {getConnection} from "typeorm";
const post = await getConnection().manager.findOneById(Post, 1);
const post = await getConnection().manager.findOne(Post, 1);
post.categories = await getConnection()
.createQueryBuilder()

View File

@ -175,16 +175,11 @@ const [timbers, timbersCount] = await repository.findAndCount({ firstName: "Timb
const users = await repository.findByIds([1, 2, 3]);
```
* `findOne` - Finds first entity that matches given find options.
```typescript
const timber = await repository.findOne({ firstName: "Timber" });
```
* `findOneById` - Finds entity with given id.
* `findOne` - Finds first entity that matches given id or find options.
```typescript
const user = await repository.findOne(1);
const timber = await repository.findOne({ firstName: "Timber" });
```
* `query` - Executes a raw SQL query.

View File

@ -8,9 +8,10 @@ Example how to use it:
```typescript
import {getManager} from "typeorm";
import {User} from "./entity/User";
const entityManager = getManager(); // you can also get it via getConnection().manager
const user = await entityManager.findOneById(1);
const user = await entityManager.findOne(User, 1);
user.name = "Umed";
await entityManager.save(user);
```

View File

@ -11,7 +11,7 @@ import {getRepository} from "typeorm";
import {User} from "./entity/User";
const userRepository = getRepository(User); // you can also get it via getConnection().getRepository() or getManager().getRepository()
const user = await userRepository.findOneById(1);
const user = await userRepository.findOne(1);
user.name = "Umed";
await userRepository.save(user);
```

View File

@ -77,7 +77,7 @@ createConnection(options).then(connection => {
return postRepository.save(entity);
})
.then(entity => {
return postRepository.findOneById(entity.id);
return postRepository.findOne(entity.id);
})
.then(entity => {
console.log("Entity is loaded: ", entity);

View File

@ -60,7 +60,7 @@ createConnection(options).then(connection => {
.save(post)
.then(post => {
console.log("Post has been saved");
return postRepository.findOneById(post.id);
return postRepository.findOne(post.id);
})
.then(loadedPost => {
console.log("post is loaded: ", loadedPost);
@ -68,7 +68,7 @@ createConnection(options).then(connection => {
})
.then(blog => {
console.log("Blog has been saved");
return blogRepository.findOneById(blog.id);
return blogRepository.findOne(blog.id);
})
.then(loadedBlog => {
console.log("blog is loaded: ", loadedBlog);

View File

@ -20,24 +20,24 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(Post);
let authorRepository = connection.getRepository(Author);
const authorPromise = authorRepository.findOneById(1).then(author => {
const authorPromise = authorRepository.findOne(1).then(author => {
if (!author) {
author = new Author();
author.name = "Umed";
return authorRepository.save(author).then(savedAuthor => {
return authorRepository.findOneById(1);
return authorRepository.findOne(1);
});
}
return author;
});
const postPromise = postRepository.findOneById(1).then(post => {
const postPromise = postRepository.findOne(1).then(post => {
if (!post) {
post = new Post();
post.title = "Hello post";
post.text = "This is post contents";
return postRepository.save(post).then(savedPost => {
return postRepository.findOneById(1);
return postRepository.findOne(1);
});
}
return post;

View File

@ -34,7 +34,7 @@ createConnection(options).then(connection => {
console.log("question has been saved: ", savedQuestion);
// lets load it now:
return questionRepository.findOneById(savedQuestion.id);
return questionRepository.findOne(savedQuestion.id);
})
.then(loadedQuestion => {
console.log("question has been loaded: ", loadedQuestion);

View File

@ -28,7 +28,7 @@ createConnection(options).then(async connection => {
console.log("Post has been saved: ", post);
console.log("now loading the post: ");
const loadedPost = await postRepository.findOneById({ id: 1, type: "person" });
const loadedPost = await postRepository.findOne({ id: 1, type: "person" });
console.log("loaded post: ", loadedPost);
}, error => console.log("Error: ", error));

View File

@ -36,7 +36,7 @@ createConnection(options).then(async connection => {
console.log("employee has been saved: ", employee);
console.log("now loading the employee: ");
const loadedEmployee = await employeeRepository.findOneById(1);
const loadedEmployee = await employeeRepository.findOne(1);
console.log("loaded employee: ", loadedEmployee);
console.log("-----------------");
@ -53,7 +53,7 @@ createConnection(options).then(async connection => {
console.log("homesitter has been saved: ", homesitter);
console.log("now loading the homesitter: ");
const loadedHomesitter = await homesitterRepository.findOneById(2);
const loadedHomesitter = await homesitterRepository.findOne(2);
console.log("loaded homesitter: ", loadedHomesitter);
console.log("-----------------");
@ -70,23 +70,23 @@ createConnection(options).then(async connection => {
console.log("student has been saved: ", student);
console.log("now loading the student: ");
const loadedStudent = await studentRepository.findOneById(3);
const loadedStudent = await studentRepository.findOne(3);
console.log("loaded student: ", loadedStudent);
console.log("-----------------");
const secondEmployee = await employeeRepository.findOneById(2);
const secondEmployee = await employeeRepository.findOne(2);
console.log("Non exist employee: ", secondEmployee);
const thirdEmployee = await employeeRepository.findOneById(3);
const thirdEmployee = await employeeRepository.findOne(3);
console.log("Non exist employee: ", thirdEmployee);
console.log("-----------------");
const secondHomesitter = await homesitterRepository.findOneById(1);
const secondHomesitter = await homesitterRepository.findOne(1);
console.log("Non exist homesitter: ", secondHomesitter);
const thirdHomesitter = await homesitterRepository.findOneById(3);
const thirdHomesitter = await homesitterRepository.findOne(3);
console.log("Non exist homesitter: ", thirdHomesitter);
console.log("-----------------");
const secondStudent = await studentRepository.findOneById(1);
const secondStudent = await studentRepository.findOne(1);
console.log("Non exist student: ", secondStudent);
const thirdStudent = await studentRepository.findOneById(2);
const thirdStudent = await studentRepository.findOne(2);
console.log("Non exist student: ", thirdStudent);

View File

@ -42,7 +42,7 @@ createConnection(options).then(async connection => {
console.log("employee has been updated: ", employee);
console.log("now loading the employee: ");
const loadedEmployee = (await employeeRepository.findOneById(1))!;
const loadedEmployee = (await employeeRepository.findOne(1))!;
console.log("loaded employee: ", loadedEmployee);
loadedEmployee.firstName = "dima";
@ -69,7 +69,7 @@ createConnection(options).then(async connection => {
console.log("homesitter has been saved: ", homesitter);
console.log("now loading the homesitter: ");
const loadedHomesitter = await homesitterRepository.findOneById(2);
const loadedHomesitter = await homesitterRepository.findOne(2);
console.log("loaded homesitter: ", loadedHomesitter);
console.log("-----------------");
@ -86,23 +86,23 @@ createConnection(options).then(async connection => {
console.log("student has been saved: ", student);
console.log("now loading the student: ");
const loadedStudent = await studentRepository.findOneById(3);
const loadedStudent = await studentRepository.findOne(3);
console.log("loaded student: ", loadedStudent);
console.log("-----------------");
const secondEmployee = await employeeRepository.findOneById(2);
const secondEmployee = await employeeRepository.findOne(2);
console.log("Non exist employee: ", secondEmployee);
const thirdEmployee = await employeeRepository.findOneById(3);
const thirdEmployee = await employeeRepository.findOne(3);
console.log("Non exist employee: ", thirdEmployee);
console.log("-----------------");
const secondHomesitter = await homesitterRepository.findOneById(1);
const secondHomesitter = await homesitterRepository.findOne(1);
console.log("Non exist homesitter: ", secondHomesitter);
const thirdHomesitter = await homesitterRepository.findOneById(3);
const thirdHomesitter = await homesitterRepository.findOne(3);
console.log("Non exist homesitter: ", thirdHomesitter);
console.log("-----------------");
const secondStudent = await studentRepository.findOneById(1);
const secondStudent = await studentRepository.findOne(1);
console.log("Non exist student: ", secondStudent);
const thirdStudent = await studentRepository.findOneById(2);
const thirdStudent = await studentRepository.findOne(2);
console.log("Non exist student: ", thirdStudent);*/
}).catch(error => console.log("Error: ", error));

View File

@ -41,7 +41,7 @@ createConnection(options).then(connection => {
.save(post)
.then(post => {
console.log("Post has been saved");
return postRepository.findOneById(post.id);
return postRepository.findOne(post.id);
})
.then(loadedPost => {
console.log("---------------------------");

View File

@ -55,7 +55,7 @@ createConnection(options).then(connection => {
.save(post)
.then(post => {
console.log("Post has been saved");
return postRepository.findOneById(post.id);
return postRepository.findOne(post.id);
})
.then(loadedPost => {
console.log("post is loaded: ", loadedPost);
@ -63,7 +63,7 @@ createConnection(options).then(connection => {
})
.then(blog => {
console.log("Blog has been saved");
return blogRepository.findOneById(blog.id);
return blogRepository.findOne(blog.id);
})
.then(loadedBlog => {
console.log("blog is loaded: ", loadedBlog);

View File

@ -39,7 +39,7 @@ createConnection(options).then(connection => {
.then(post => {
console.log("Post has been saved");
console.log("---------------------------");
return postRepository.findOneById(post.id);
return postRepository.findOne(post.id);
})
.then(loadedPost => {
console.log("post is loaded. Its uid is " + loadedPost!.uid);

View File

@ -270,7 +270,7 @@ export class UserController {
}
async one(request: Request, response: Response, next: NextFunction) {
return this.userRepository.findOneById(request.params.id);
return this.userRepository.findOne(request.params.id);
}
async save(request: Request, response: Response, next: NextFunction) {

View File

@ -27,6 +27,7 @@ import {TreeRepositoryNotSupportedError} from "../error/TreeRepositoryNotSupport
import {EntityMetadata} from "../metadata/EntityMetadata";
import {QueryPartialEntity} from "../query-builder/QueryPartialEntity";
import {EntityPersitor} from "../persistence/EntityPersitor";
import {ObjectID} from "../driver/mongodb/typings";
/**
* Entity manager supposed to work with any entity, automatically find its repository and call its methods,
@ -521,7 +522,7 @@ export class EntityManager {
/**
* Finds first entity that matches given find options.
*/
findOne<Entity>(entityClass: ObjectType<Entity>|string, id?: string|number|Date, options?: FindOneOptions<Entity>): Promise<Entity|undefined>;
findOne<Entity>(entityClass: ObjectType<Entity>|string, id?: string|number|Date|ObjectID, options?: FindOneOptions<Entity>): Promise<Entity|undefined>;
/**
* Finds first entity that matches given find options.
@ -536,7 +537,7 @@ export class EntityManager {
/**
* Finds first entity that matches given conditions.
*/
findOne<Entity>(entityClass: ObjectType<Entity>|string, idOrOptionsOrConditions: string|number|Date|FindOneOptions<Entity>|Partial<Entity>, maybeOptions?: FindOneOptions<Entity>): Promise<Entity|undefined> {
findOne<Entity>(entityClass: ObjectType<Entity>|string, idOrOptionsOrConditions: string|number|Date|ObjectID|FindOneOptions<Entity>|Partial<Entity>, maybeOptions?: FindOneOptions<Entity>): Promise<Entity|undefined> {
const metadata = this.connection.getMetadata(entityClass);
let alias: string = metadata.name;

View File

@ -115,15 +115,15 @@ export class PlatformTools {
* Logging functions needed by AdvancedConsoleLogger
*/
static logInfo(prefix: string, info: any) {
console.log(chalk.gray.underline(prefix) + " ", info);
console.log(chalk.gray.underline(prefix), info);
}
static logError(prefix: string, error: any) {
console.log(chalk.underline.red(prefix) + " ", error);
console.log(chalk.underline.red(prefix), error);
}
static logWarn(prefix: string, warning: any) {
console.log(chalk.underline.yellow(prefix) + " ", warning);
console.log(chalk.underline.yellow(prefix), warning);
}
static log(message: string) {

View File

@ -8,6 +8,7 @@ import {FindManyOptions} from "../find-options/FindManyOptions";
import {Connection} from "../connection/Connection";
import {ObjectType} from "../common/ObjectType";
import {SelectQueryBuilder} from "../query-builder/SelectQueryBuilder";
import {ObjectID} from "../driver/mongodb/typings";
/**
* Base abstract entity for all entities, used in ActiveRecord patterns.
@ -271,6 +272,11 @@ export class BaseEntity {
return (this as any).getRepository().findByIds(ids, optionsOrConditions as any);
}
/**
* Finds first entity that matches given options.
*/
static findOne<T extends BaseEntity>(this: ObjectType<T>, id?: string|number|Date|ObjectID, options?: FindOneOptions<T>): Promise<T|undefined>;
/**
* Finds first entity that matches given options.
*/
@ -279,7 +285,7 @@ export class BaseEntity {
/**
* Finds first entity that matches given conditions.
*/
static findOne<T extends BaseEntity>(this: ObjectType<T>, conditions?: DeepPartial<T>): Promise<T|undefined>;
static findOne<T extends BaseEntity>(this: ObjectType<T>, conditions?: DeepPartial<T>, options?: FindOneOptions<T>): Promise<T|undefined>;
/**
* Finds first entity that matches given conditions.
@ -291,18 +297,24 @@ export class BaseEntity {
/**
* Finds entity by given id.
* Optionally find options can be applied.
*
* @deprecated use findOne instead
*/
static findOneById<T extends BaseEntity>(this: ObjectType<T>, id: any, options?: FindOneOptions<T>): Promise<T|undefined>;
/**
* Finds entity by given id.
* Optionally conditions can be applied.
*
* @deprecated use findOne instead
*/
static findOneById<T extends BaseEntity>(this: ObjectType<T>, id: any, conditions?: DeepPartial<T>): Promise<T|undefined>;
/**
* Finds entity by given id.
* Optionally find options or conditions can be applied.
*
* @deprecated use findOne instead
*/
static findOneById<T extends BaseEntity>(this: ObjectType<T>, id: any, optionsOrConditions?: FindOneOptions<T>|DeepPartial<T>): Promise<T|undefined> {
return (this as any).getRepository().findOneById(id, optionsOrConditions as any);

View File

@ -24,7 +24,7 @@ import {
InsertWriteOpResult,
MapReduceOptions,
MongoCountPreferences,
MongodbIndexOptions,
MongodbIndexOptions, ObjectID,
OrderedBulkOperation,
ParallelCollectionScanOptions,
ReadPreference,
@ -97,7 +97,7 @@ export class MongoRepository<Entity extends ObjectLiteral> extends Repository<En
/**
* Finds first entity that matches given conditions and/or find options.
*/
findOne(optionsOrConditions?: string|number|Date|FindOneOptions<Entity>|Partial<Entity>, maybeOptions?: FindOneOptions<Entity>): Promise<Entity|undefined> {
findOne(optionsOrConditions?: string|number|Date|ObjectID|FindOneOptions<Entity>|Partial<Entity>, maybeOptions?: FindOneOptions<Entity>): Promise<Entity|undefined> {
return this.manager.findOne(this.metadata.target, optionsOrConditions as any, maybeOptions as any);
}

View File

@ -8,6 +8,7 @@ import {RemoveOptions} from "./RemoveOptions";
import {EntityManager} from "../entity-manager/EntityManager";
import {QueryRunner} from "../query-runner/QueryRunner";
import {SelectQueryBuilder} from "../query-builder/SelectQueryBuilder";
import {ObjectID} from "../driver/mongodb/typings";
/**
* Repository is supposed to work with your entity objects. Find entities, insert, update, delete, etc.
@ -294,7 +295,7 @@ export class Repository<Entity extends ObjectLiteral> {
/**
* Finds first entity that matches given options.
*/
findOne(id?: string|number|Date): Promise<Entity|undefined>;
findOne(id?: string|number|Date|ObjectID, options?: FindOneOptions<Entity>): Promise<Entity|undefined>;
/**
* Finds first entity that matches given options.
@ -304,16 +305,32 @@ export class Repository<Entity extends ObjectLiteral> {
/**
* Finds first entity that matches given conditions.
*/
findOne(conditions?: DeepPartial<Entity>): Promise<Entity|undefined>;
findOne(conditions?: DeepPartial<Entity>, options?: FindOneOptions<Entity>): Promise<Entity|undefined>;
/**
* Finds first entity that matches given conditions.
*/
findOne(optionsOrConditions?: string|number|Date|FindOneOptions<Entity>|DeepPartial<Entity>): Promise<Entity|undefined> {
findOne(optionsOrConditions?: string|number|Date|ObjectID|FindOneOptions<Entity>|DeepPartial<Entity>): Promise<Entity|undefined> {
return this.manager.findOne(this.metadata.target, optionsOrConditions as any);
}
// todo: deprecate findOneById method, use findOne instead
/**
* Executes a raw SQL query and returns a raw database results.
* Raw query execution is supported only by relational databases (MongoDB is not supported).
*/
async query(query: string, parameters?: any[]): Promise<any> {
return this.manager.query(query, parameters);
}
/**
* Clears all the data from the given table/collection (truncates/drops it).
*
* Note: this method uses TRUNCATE and may not work as you expect in transactions on some platforms.
* @see https://stackoverflow.com/a/5972738/925151
*/
async clear(): Promise<void> {
return this.manager.clear(this.metadata.target);
}
/**
* Finds entity by given id.
@ -341,22 +358,4 @@ export class Repository<Entity extends ObjectLiteral> {
return this.manager.findOneById(this.metadata.target, id, optionsOrConditions as any);
}
/**
* Executes a raw SQL query and returns a raw database results.
* Raw query execution is supported only by relational databases (MongoDB is not supported).
*/
async query(query: string, parameters?: any[]): Promise<any> {
return this.manager.query(query, parameters);
}
/**
* Clears all the data from the given table/collection (truncates/drops it).
*
* Note: this method uses TRUNCATE and may not work as you expect in transactions on some platforms.
* @see https://stackoverflow.com/a/5972738/925151
*/
async clear(): Promise<void> {
return this.manager.clear(this.metadata.target);
}
}

View File

@ -24,7 +24,7 @@ describe("columns > getters and setters", () => {
await postRepository.save(post);
// check if title is a value applied by a setter
const loadedPost1 = await postRepository.findOneById(1);
const loadedPost1 = await postRepository.findOne(1);
expect(loadedPost1!.title).to.be.equal("bye");
// try to load a column by its value

View File

@ -25,7 +25,7 @@ describe("columns > no-selection functionality", () => {
await postRepository.save(post);
// check if all columns are updated except for readonly columns
const loadedPost = await postRepository.findOneById(1);
const loadedPost = await postRepository.findOne(1);
expect(loadedPost!.title).to.be.equal("About columns");
expect(loadedPost!.text).to.be.equal("Some text about columns");
expect(loadedPost!.authorName).to.be.undefined;

View File

@ -32,7 +32,7 @@ describe("columns > readonly functionality", () => {
await postRepository.save(post);
// check if all columns are updated except for readonly columns
const loadedPost = await postRepository.findOneById(1);
const loadedPost = await postRepository.findOne(1);
expect(loadedPost!.title).to.be.equal("About columns1");
expect(loadedPost!.text).to.be.equal("Some text about columns1");
expect(loadedPost!.authorName).to.be.equal("Umed1");

View File

@ -30,7 +30,7 @@ describe("columns > value-transformer functionality", () => {
await postRepository.save(post);
// check if all columns are updated except for readonly columns
const loadedPost = await postRepository.findOneById(1);
const loadedPost = await postRepository.findOne(1);
expect(loadedPost!.title).to.be.equal("About columns1");
expect(loadedPost!.tags).to.deep.eq(["very", "simple"]);

View File

@ -128,7 +128,7 @@ describe("ConnectionManager", () => {
// recreate connection and find previously saved post
connection = await connectionManager.create(options).connect();
const loadedPost = (await connection.manager.findOneById(Post, 1))!;
const loadedPost = (await connection.manager.findOne(Post, 1))!;
loadedPost.should.be.instanceof(Post);
loadedPost.should.be.eql({ id: 1, title: "Hello post" });
await connection.close();
@ -151,7 +151,7 @@ describe("ConnectionManager", () => {
// recreate connection and find previously saved post
connection = await connectionManager.create(options).connect();
const loadedPost = await connection.manager.findOneById(Post, 1);
const loadedPost = await connection.manager.findOne(Post, 1);
expect(loadedPost).to.be.undefined;
await connection.close();
});
@ -173,7 +173,7 @@ describe("ConnectionManager", () => {
// recreate connection and find previously saved post
connection = await connectionManager.createAndConnect(options);
const loadedPost = await connection.manager.findOneById(Post, 1);
const loadedPost = await connection.manager.findOne(Post, 1);
expect(loadedPost).to.be.undefined;
await connection.close();
@ -196,7 +196,7 @@ describe("ConnectionManager", () => {
// recreate connection and find previously saved post
connection = await connectionManager.createAndConnect(options);
const loadedPost = await connection.manager.findOneById(Post, 1);
const loadedPost = await connection.manager.findOne(Post, 1);
expect(loadedPost).to.be.undefined;
await connection.close();
});*/

View File

@ -179,10 +179,10 @@ describe("Connection", () => {
const post = new Post();
post.title = "new post";
await postRepository.save(post);
const loadedPost = await postRepository.findOneById(post.id);
const loadedPost = await postRepository.findOne(post.id);
expect(loadedPost).to.be.eql(post);
await connection.synchronize(true);
const againLoadedPost = await postRepository.findOneById(post.id);
const againLoadedPost = await postRepository.findOne(post.id);
expect(againLoadedPost).to.be.empty;
})));

View File

@ -66,7 +66,7 @@ describe("database schema > column types > mssql", () => {
post.simpleArray = ["A", "B", "C"];
await postRepository.save(post);
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(post.id);
loadedPost.name.should.be.equal(post.name);
loadedPost.bit.should.be.equal(post.bit);
@ -172,7 +172,7 @@ describe("database schema > column types > mssql", () => {
post.datetimeoffset = new Date();
await postRepository.save(post);
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(post.id);
loadedPost.char.should.be.equal(post.char);
loadedPost.varchar.should.be.equal(post.varchar);
@ -243,7 +243,7 @@ describe("database schema > column types > mssql", () => {
post.datetime.setMilliseconds(0); // set milliseconds to zero because the SQL Server datetime type only has a 1/300 ms (~3.33̅ ms) resolution
await postRepository.save(post);
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(post.id);
loadedPost.name.should.be.equal(post.name);
loadedPost.bit.should.be.equal(post.bit);

View File

@ -61,7 +61,7 @@ describe("database schema > column types > mysql", () => {
post.simpleArray = ["A", "B", "C"];
await postRepository.save(post);
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(post.id);
loadedPost.name.should.be.equal(post.name);
loadedPost.int.should.be.equal(post.int);
@ -169,7 +169,7 @@ describe("database schema > column types > mysql", () => {
post.time = "15:30:00.256";
await postRepository.save(post);
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(post.id);
loadedPost.name.should.be.equal(post.name);
loadedPost.int.should.be.equal(post.int);
@ -238,7 +238,7 @@ describe("database schema > column types > mysql", () => {
post.datetime.setMilliseconds(0); // set milliseconds to zero, because if datetime type specified without precision, milliseconds won't save in database
await postRepository.save(post);
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(post.id);
loadedPost.name.should.be.equal(post.name);
loadedPost.boolean.should.be.equal(post.boolean);

View File

@ -82,7 +82,7 @@ describe("database schema > column types > postgres", () => {
post.simpleArray = ["A", "B", "C"];
await postRepository.save(post);
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(post.id);
loadedPost.name.should.be.equal(post.name);
loadedPost.integer.should.be.equal(post.integer);
@ -220,7 +220,7 @@ describe("database schema > column types > postgres", () => {
post.timeWithTimeZone = "15:30:13.27801+05";
await postRepository.save(post);
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(post.id);
loadedPost.numeric.should.be.equal(post.numeric);
loadedPost.decimal.should.be.equal(post.decimal);
@ -274,7 +274,7 @@ describe("database schema > column types > postgres", () => {
post.datetime.setMilliseconds(0);
await postRepository.save(post);
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(post.id);
loadedPost.name.should.be.equal(post.name);
loadedPost.bit.should.be.equal(post.bit);

View File

@ -59,7 +59,7 @@ describe("database schema > column types > sqlite", () => {
post.simpleArray = ["A", "B", "C"];
await postRepository.save(post);
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(post.id);
loadedPost.name.should.be.equal(post.name);
loadedPost.int.should.be.equal(post.int);
@ -141,7 +141,7 @@ describe("database schema > column types > sqlite", () => {
post.datetime.setMilliseconds(0);
await postRepository.save(post);
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(post.id);
loadedPost.name.should.be.equal(post.name);
loadedPost.boolean.should.be.equal(post.boolean);

View File

@ -29,7 +29,7 @@ describe("database schema > mssql-parameters", () => {
post1.text = "This is post";
await postRepository.save(post1);
let loadedPost1 = (await postRepository.findOneById(1))!;
let loadedPost1 = (await postRepository.findOne(1))!;
loadedPost1.id.should.be.equal(post1.id);
loadedPost1.name.should.be.equal(post1.name);
@ -40,12 +40,12 @@ describe("database schema > mssql-parameters", () => {
loadedPost1.text = "This is updated post";
await postRepository.save(loadedPost1);
loadedPost1 = (await postRepository.findOneById(1))!;
loadedPost1 = (await postRepository.findOne(1))!;
loadedPost1.name.should.be.equal("Updated Post #1");
loadedPost1.text.should.be.equal("This is updated post");
await postRepository.remove(loadedPost1);
loadedPost1 = (await postRepository.findOneById(1))!;
loadedPost1 = (await postRepository.findOne(1))!;
expect(loadedPost1).to.not.exist;
const post2 = new Post();
@ -60,7 +60,7 @@ describe("database schema > mssql-parameters", () => {
.values(post2)
.execute();
let loadedPost2 = (await postRepository.findOneById(2))!;
let loadedPost2 = (await postRepository.findOne(2))!;
loadedPost2.id.should.be.equal(post2.id);
loadedPost2.name.should.be.equal(post2.name);
loadedPost2.category.should.be.equal(post2.category);
@ -72,7 +72,7 @@ describe("database schema > mssql-parameters", () => {
.where("id = :id", { id: 2 })
.execute();
loadedPost2 = (await postRepository.findOneById(2))!;
loadedPost2 = (await postRepository.findOne(2))!;
loadedPost2.name.should.be.equal("Updated Post #2");
await connection.createQueryBuilder()
@ -81,7 +81,7 @@ describe("database schema > mssql-parameters", () => {
.where("id = :id", { id: "2" })
.execute();
loadedPost2 = (await postRepository.findOneById(2))!;
loadedPost2 = (await postRepository.findOne(2))!;
expect(loadedPost2).to.not.exist;
})));

View File

@ -29,7 +29,7 @@ describe("decorators > embedded", () => {
await postRepository.save(post);
// now load it
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(1);
loadedPost.title.should.be.equal("Hello post");
loadedPost.text.should.be.equal("This is text about the post");

View File

@ -22,7 +22,7 @@ describe("driver > convert raw results to entity", () => {
await postRepository.save(post);
const loadedPost = await postRepository.findOneById(1);
const loadedPost = await postRepository.findOne(1);
if (loadedPost) {
expect(loadedPost.isNew).to.be.equal(null);
}
@ -36,7 +36,7 @@ describe("driver > convert raw results to entity", () => {
await postRepository.save(post);
const loadedPost = await postRepository.findOneById(1);
const loadedPost = await postRepository.findOne(1);
if (loadedPost) {
expect(loadedPost.isNew).to.be.equal(true);
}
@ -50,7 +50,7 @@ describe("driver > convert raw results to entity", () => {
await postRepository.save(post);
const loadedPost = await postRepository.findOneById(1);
const loadedPost = await postRepository.findOne(1);
if (loadedPost) {
expect(loadedPost.isNew).to.be.equal(false);
}

View File

@ -30,7 +30,7 @@ describe("embedded > basic functionality", () => {
await postRepository.save(post);
// now load it
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(1);
loadedPost.title.should.be.equal("Hello post");
loadedPost.text.should.be.equal("This is text about the post");
@ -46,7 +46,7 @@ describe("embedded > basic functionality", () => {
await postRepository.save(loadedPost);
// now check it
const loadedPost2 = (await postRepository.findOneById(1))!;
const loadedPost2 = (await postRepository.findOne(1))!;
loadedPost2.id.should.be.equal(1);
loadedPost2.title.should.be.equal("Hello post");
loadedPost2.text.should.be.equal("This is text about the post");
@ -59,7 +59,7 @@ describe("embedded > basic functionality", () => {
await postRepository.remove(loadedPost2);
// now check it
const loadedPost3 = (await postRepository.findOneById(1))!;
const loadedPost3 = (await postRepository.findOne(1))!;
expect(loadedPost3).to.be.undefined;
})));

View File

@ -85,7 +85,7 @@ describe("embedded > multiple-primary-columns-with-nested-embed", () => {
}
));
const loadedPost = (await postRepository.findOneById({ id: 1, counters: { code: 1, subcounters: { version: 1 } } }))!;
const loadedPost = (await postRepository.findOne({ id: 1, counters: { code: 1, subcounters: { version: 1 } } }))!;
expect(loadedPost.should.be.eql(
{
id: 1,
@ -107,7 +107,7 @@ describe("embedded > multiple-primary-columns-with-nested-embed", () => {
loadedPost.counters.subcounters.watches += 1;
await postRepository.save(loadedPost);
const loadedPost2 = (await postRepository.findOneById({ id: 1, counters: { code: 1, subcounters: { version: 1 } } }))!;
const loadedPost2 = (await postRepository.findOne({ id: 1, counters: { code: 1, subcounters: { version: 1 } } }))!;
expect(loadedPost2.should.be.eql(
{
id: 1,

View File

@ -50,14 +50,14 @@ describe("embedded > multiple-primary-column", () => {
expect(loadedPosts[1].title).to.be.equal("About airplanes");
expect(loadedPosts[1].counters.should.be.eql({ code: 2, comments: 2, favorites: 3, likes: 4 }));
const loadedPost = (await postRepository.findOneById({ id: 1, counters: { code: 1 } }))!;
const loadedPost = (await postRepository.findOne({ id: 1, counters: { code: 1 } }))!;
expect(loadedPost.title).to.be.equal("About cars");
expect(loadedPost.counters.should.be.eql({ code: 1, comments: 1, favorites: 2, likes: 3 }));
loadedPost.counters.favorites += 1;
await postRepository.save(loadedPost);
const loadedPost2 = (await postRepository.findOneById({ id: 1, counters: { code: 1 } }))!;
const loadedPost2 = (await postRepository.findOne({ id: 1, counters: { code: 1 } }))!;
expect(loadedPost.title).to.be.equal("About cars");
expect(loadedPost.counters.should.be.eql({ code: 1, comments: 1, favorites: 3, likes: 3 }));

View File

@ -50,14 +50,14 @@ describe("embedded > outer-primary-column", () => {
expect(loadedPosts[1].title).to.be.equal("About airplanes");
expect(loadedPosts[1].counters.should.be.eql({ code: 2, comments: 2, favorites: 3, likes: 4 }));
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
expect(loadedPost.title).to.be.equal("About cars");
expect(loadedPost.counters.should.be.eql({ code: 1, comments: 1, favorites: 2, likes: 3 }));
loadedPost.counters.favorites += 1;
await postRepository.save(loadedPost);
const loadedPost2 = (await postRepository.findOneById(1))!;
const loadedPost2 = (await postRepository.findOne(1))!;
expect(loadedPost.title).to.be.equal("About cars");
expect(loadedPost.counters.should.be.eql({ code: 1, comments: 1, favorites: 3, likes: 3 }));

View File

@ -29,7 +29,7 @@ describe("embedded > prefix functionality", () => {
await postRepository.save(post);
// now load it
const loadedPost = (await postRepository.findOneById(1))!;
const loadedPost = (await postRepository.findOne(1))!;
loadedPost.id.should.be.equal(1);
loadedPost.title.should.be.equal("Hello post");
loadedPost.text.should.be.equal("This is text about the post");

View File

@ -23,7 +23,7 @@ describe("entity-model", () => {
post.text = "Huge discussion how good or bad ActiveRecord is.";
await post.save();
const loadedPost = await Post.findOneById(1);
const loadedPost = await Post.findOne(1);
loadedPost!.should.be.instanceOf(Post);
loadedPost!.id.should.be.eql(1);

View File

@ -30,7 +30,7 @@ describe("jsonb type", () => {
let record = new Record();
record.data = { foo: "bar" };
let persistedRecord = await recordRepo.save(record);
let foundRecord = await recordRepo.findOneById(persistedRecord.id);
let foundRecord = await recordRepo.findOne(persistedRecord.id);
expect(foundRecord).to.be.not.undefined;
expect(foundRecord!.data.foo).to.eq("bar");
})));
@ -40,7 +40,7 @@ describe("jsonb type", () => {
let record = new Record();
record.data = "foo";
let persistedRecord = await recordRepo.save(record);
let foundRecord = await recordRepo.findOneById(persistedRecord.id);
let foundRecord = await recordRepo.findOne(persistedRecord.id);
expect(foundRecord).to.be.not.undefined;
expect(foundRecord!.data).to.be.a("string");
expect(foundRecord!.data).to.eq("foo");
@ -51,7 +51,7 @@ describe("jsonb type", () => {
let record = new Record();
record.data = [1, "2", { a: 3 }];
let persistedRecord = await recordRepo.save(record);
let foundRecord = await recordRepo.findOneById(persistedRecord.id);
let foundRecord = await recordRepo.findOne(persistedRecord.id);
expect(foundRecord).to.be.not.undefined;
expect(foundRecord!.data).to.deep.include.members([1, "2", { a: 3 }]);
})));

View File

@ -102,8 +102,8 @@ describe("mongodb > basic repository actions", () => {
}
await postRepository.save(posts);
// assert findOneById method
const loadedPost1 = await postRepository.findOneById(post1.id);
// assert.findOne method
const loadedPost1 = await postRepository.findOne(post1.id);
expect(loadedPost1!.id).to.be.eql(post1.id);
expect(loadedPost1!.title).to.be.equal("First Post");
expect(loadedPost1!.text).to.be.equal("Everything about first post");
@ -231,7 +231,7 @@ describe("mongodb > basic repository actions", () => {
post2.text = "Everything about second post";
await postRepository.save(post2);
const loadedPost1 = await postRepository.findOneById(post1.id);
const loadedPost1 = await postRepository.findOne(post1.id);
await postRepository.remove(loadedPost1!);
await postRepository.remove(post2);

View File

@ -53,14 +53,14 @@ describe("persistence > basic functionality", function() {
const user = new User("Hello User");
await connection.manager.save([post, category, user]);
await connection.manager.findOneById(Post, 1).should.eventually.eql({ id: 1, title: "Hello Post" });
await connection.manager.findOneById(Category, 1).should.eventually.eql({ id: 1, name: "Hello Category" });
await connection.manager.findOneById(User, 1).should.eventually.eql({ id: 1, name: "Hello User" });
await connection.manager.findOne(Post, 1).should.eventually.eql({ id: 1, title: "Hello Post" });
await connection.manager.findOne(Category, 1).should.eventually.eql({ id: 1, name: "Hello Category" });
await connection.manager.findOne(User, 1).should.eventually.eql({ id: 1, name: "Hello User" });
await connection.manager.remove([post, category, user]);
await connection.manager.findOneById(Post, 1).should.eventually.be.undefined;
await connection.manager.findOneById(Category, 1).should.eventually.be.undefined;
await connection.manager.findOneById(User, 1).should.eventually.be.undefined;
await connection.manager.findOne(Post, 1).should.eventually.be.undefined;
await connection.manager.findOne(Category, 1).should.eventually.be.undefined;
await connection.manager.findOne(User, 1).should.eventually.be.undefined;
})));
});

View File

@ -69,7 +69,7 @@ describe("persistence > custom-column-names", function() {
// load a post
before(function() {
return postRepository
.findOneById(1, { join: { alias: "post", leftJoinAndSelect: { category: "post.category" } }})
.findOne(1, { join: { alias: "post", leftJoinAndSelect: { category: "post.category" } }})
.then(post => loadedPost = post!);
});
@ -104,7 +104,7 @@ describe("persistence > custom-column-names", function() {
// load a post
before(function() {
return postRepository
.findOneById(1, { join: { alias: "post", leftJoinAndSelect: { category: "post.category" } } })
.findOne(1, { join: { alias: "post", leftJoinAndSelect: { category: "post.category" } } })
.then(post => loadedPost = post!);
});
@ -134,7 +134,7 @@ describe("persistence > custom-column-names", function() {
// load a post
before(function() {
return postRepository
.findOneById(1, { join: { alias: "post", leftJoinAndSelect: { category: "post.category" } }})
.findOne(1, { join: { alias: "post", leftJoinAndSelect: { category: "post.category" } }})
.then(post => loadedPost = post!);
});
@ -182,7 +182,7 @@ describe("persistence > custom-column-names", function() {
// load a post
before(function() {
return postRepository
.findOneById(1, { join: { alias: "post", leftJoinAndSelect: { category: "post.category", metadata: "category.metadata" } } })
.findOne(1, { join: { alias: "post", leftJoinAndSelect: { category: "post.category", metadata: "category.metadata" } } })
.then(post => loadedPost = post!);
});
@ -227,7 +227,7 @@ describe("persistence > custom-column-names", function() {
// load a post
before(function() {
return postRepository
.findOneById(1, { join: { alias: "post", leftJoinAndSelect: { category: "post.category", metadata: "category.metadata" } } })
.findOne(1, { join: { alias: "post", leftJoinAndSelect: { category: "post.category", metadata: "category.metadata" } } })
.then(post => loadedPost = post!);
});

View File

@ -0,0 +1,18 @@
import {Entity} from "../../../../../src/decorator/entity/Entity";
import {Column} from "../../../../../src/decorator/columns/Column";
import {PrimaryGeneratedColumn} from "../../../../../src/decorator/columns/PrimaryGeneratedColumn";
import {PostEmbedded} from "./PostEmbedded";
@Entity()
export class PostComplex {
@PrimaryGeneratedColumn("uuid")
firstId: number;
@Column()
text: string;
@Column(type => PostEmbedded)
embed: PostEmbedded;
}

View File

@ -0,0 +1,14 @@
import {Entity} from "../../../../../src/decorator/entity/Entity";
import {PrimaryGeneratedColumn} from "../../../../../src/decorator/columns/PrimaryGeneratedColumn";
import {Column} from "../../../../../src/decorator/columns/Column";
@Entity()
export class PostDefaultValues {
@PrimaryGeneratedColumn()
id: number;
@Column()
text: string;
}

View File

@ -0,0 +1,20 @@
import {PrimaryColumn} from "../../../../../src/decorator/columns/PrimaryColumn";
import {UpdateDateColumn} from "../../../../../src/decorator/columns/UpdateDateColumn";
import {CreateDateColumn} from "../../../../../src/decorator/columns/CreateDateColumn";
import {VersionColumn} from "../../../../../src/decorator/columns/VersionColumn";
export class PostEmbedded {
@PrimaryColumn("uuid")
secondId: number;
@CreateDateColumn()
createDate: Date;
@UpdateDateColumn()
updateDate: Date;
@VersionColumn()
version: number;
}

View File

@ -0,0 +1,14 @@
import {Entity} from "../../../../../src/decorator/entity/Entity";
import {Column} from "../../../../../src/decorator/columns/Column";
import {PrimaryGeneratedColumn} from "../../../../../src/decorator/columns/PrimaryGeneratedColumn";
@Entity()
export class PostIncrement {
@PrimaryGeneratedColumn()
id: number;
@Column()
text: string;
}

View File

@ -0,0 +1,17 @@
import {Entity} from "../../../../../src/decorator/entity/Entity";
import {Column} from "../../../../../src/decorator/columns/Column";
import {PrimaryColumn} from "../../../../../src/decorator/columns/PrimaryColumn";
@Entity()
export class PostMultiplePrimaryKeys {
@PrimaryColumn()
firstId: number;
@PrimaryColumn()
secondId: number;
@Column()
text: string;
}

View File

@ -0,0 +1,26 @@
import {Entity} from "../../../../../src/decorator/entity/Entity";
import {PrimaryGeneratedColumn} from "../../../../../src/decorator/columns/PrimaryGeneratedColumn";
import {CreateDateColumn} from "../../../../../src/decorator/columns/CreateDateColumn";
import {UpdateDateColumn} from "../../../../../src/decorator/columns/UpdateDateColumn";
import {Column} from "../../../../../src/decorator/columns/Column";
import {VersionColumn} from "../../../../../src/decorator/columns/VersionColumn";
@Entity()
export class PostSpecialColumns {
@PrimaryGeneratedColumn()
id: number;
@Column()
title: string;
@CreateDateColumn()
createDate: Date;
@UpdateDateColumn()
updateDate: Date;
@VersionColumn()
version: number;
}

View File

@ -0,0 +1,14 @@
import {Entity} from "../../../../../src/decorator/entity/Entity";
import {Column} from "../../../../../src/decorator/columns/Column";
import {PrimaryGeneratedColumn} from "../../../../../src/decorator/columns/PrimaryGeneratedColumn";
@Entity()
export class PostUuid {
@PrimaryGeneratedColumn("uuid")
id: number;
@Column()
text: string;
}

View File

@ -0,0 +1,28 @@
import "reflect-metadata";
import {Connection} from "../../../../src/connection/Connection";
import {closeTestingConnections, createTestingConnections, reloadTestingDatabases} from "../../../utils/test-utils";
describe("persistence > entity updation", () => {
let connections: Connection[];
before(async () => connections = await createTestingConnections({ __dirname }));
beforeEach(() => reloadTestingDatabases(connections));
after(() => closeTestingConnections(connections));
it("should update generated auto-increment id after saving", () => Promise.all(connections.map(async connection => {
})));
it("should update generated uuid after saving", () => Promise.all(connections.map(async connection => {
})));
it("should update default values after saving", () => Promise.all(connections.map(async connection => {
})));
it("should update special columns saving", () => Promise.all(connections.map(async connection => {
})));
});

View File

@ -50,7 +50,7 @@ describe("persistence > many-to-many", function() {
await userRepository.save(newUser);
// load a post
const loadedUser = await userRepository.findOneById(1, {
const loadedUser = await userRepository.findOne(1, {
join: {
alias: "user",
leftJoinAndSelect: { post: "user.post", categories: "post.categories" }
@ -95,7 +95,7 @@ describe("persistence > many-to-many", function() {
await userRepository.save(newUser);
// load a post
const loadedUser1 = await userRepository.findOneById(1, {
const loadedUser1 = await userRepository.findOne(1, {
join: {
alias: "user",
leftJoinAndSelect: { post: "user.post", categories: "post.categories" }
@ -113,7 +113,7 @@ describe("persistence > many-to-many", function() {
await userRepository.save(newUser);
// load a post
const loadedUser2 = await userRepository.findOneById(1, {
const loadedUser2 = await userRepository.findOne(1, {
join: {
alias: "user",
leftJoinAndSelect: { post: "user.post", categories: "post.categories" }
@ -159,7 +159,7 @@ describe("persistence > many-to-many", function() {
await userRepository.save(newUser);
// load a post
const loadedUser1 = await userRepository.findOneById(1, {
const loadedUser1 = await userRepository.findOne(1, {
join: {
alias: "user",
leftJoinAndSelect: { post: "user.post", categories: "post.categories" }
@ -177,7 +177,7 @@ describe("persistence > many-to-many", function() {
await userRepository.save(newUser);
// load a post
const loadedUser2 = await userRepository.findOneById(1, {
const loadedUser2 = await userRepository.findOne(1, {
join: {
alias: "user",
leftJoinAndSelect: { post: "user.post", categories: "post.categories" }
@ -222,7 +222,7 @@ describe("persistence > many-to-many", function() {
await userRepository.save(newUser);
// load a post
const loadedUser1 = await userRepository.findOneById(1, {
const loadedUser1 = await userRepository.findOne(1, {
join: {
alias: "user",
leftJoinAndSelect: { post: "user.post", categories: "post.categories" }
@ -240,7 +240,7 @@ describe("persistence > many-to-many", function() {
await userRepository.save(newUser);
// load a post
const loadedUser2 = await userRepository.findOneById(1, {
const loadedUser2 = await userRepository.findOne(1, {
join: {
alias: "user",
leftJoinAndSelect: { post: "user.post", categories: "post.categories" }

View File

@ -26,7 +26,7 @@ describe("persistence > many-to-one bi-directional relation", function() {
category.post = post;
await connection.manager.save(category);
const loadedCategory = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory).not.to.be.empty;
loadedCategory!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
})));
@ -37,7 +37,7 @@ describe("persistence > many-to-one bi-directional relation", function() {
category.post = post;
await connection.manager.save(category);
const loadedCategory = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory).not.to.be.empty;
loadedCategory!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
})));
@ -55,7 +55,7 @@ describe("persistence > many-to-one bi-directional relation", function() {
// save once again, just for fun
await connection.manager.save(category);
const loadedCategory1 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory1 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory1).not.to.be.empty;
loadedCategory1!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Updated post" } });
@ -63,7 +63,7 @@ describe("persistence > many-to-one bi-directional relation", function() {
(loadedCategory1!.post as Post).title = "Again Updated post";
await connection.manager.save(loadedCategory1);
const loadedCategory2 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory2 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory2).not.to.be.empty;
loadedCategory2!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Again Updated post" } });
})));
@ -78,7 +78,7 @@ describe("persistence > many-to-one bi-directional relation", function() {
await connection.manager.save(category);
// load and check if it was correctly saved
const loadedCategory1 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory1 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory1).not.to.be.empty;
loadedCategory1!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
@ -86,11 +86,11 @@ describe("persistence > many-to-one bi-directional relation", function() {
loadedCategory1!.post = undefined;
await connection.manager.save(loadedCategory1);
const loadedCategory2 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory2 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory2).not.to.be.empty;
loadedCategory2!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
const loadedPost = await connection.manager.findOneById(Post, 1);
const loadedPost = await connection.manager.findOne(Post, 1);
expect(loadedPost).not.to.be.empty;
loadedPost!.should.be.eql({ id: 1, title: "Hello Post" });
})));
@ -104,7 +104,7 @@ describe("persistence > many-to-one bi-directional relation", function() {
category.post = post;
await connection.manager.save(category);
const loadedCategory1 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory1 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory1).not.to.be.empty;
loadedCategory1!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
@ -112,7 +112,7 @@ describe("persistence > many-to-one bi-directional relation", function() {
loadedCategory1!.post = null;
await connection.manager.save(loadedCategory1);
const loadedCategory2 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory2 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory2).not.to.be.empty;
loadedCategory2!.should.be.eql({ id: 1, name: "Hello Category", post: null });
})));
@ -126,7 +126,7 @@ describe("persistence > many-to-one bi-directional relation", function() {
category.post = post;
await connection.manager.save(category);
const loadedCategory1 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory1 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory1).not.to.be.empty;
loadedCategory1!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
@ -134,7 +134,7 @@ describe("persistence > many-to-one bi-directional relation", function() {
await connection.manager.remove(post);
// now lets load category and make sure post isn't set there
const loadedCategory2 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory2 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory2).not.to.be.empty;
loadedCategory2!.should.be.eql({ id: 1, name: "Hello Category", post: null });
})));
@ -154,7 +154,7 @@ describe("persistence > many-to-one bi-directional relation", function() {
await connection.manager.save(category);
// check if category is saved with post set
const loadedCategory1 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory1 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory1).not.to.be.empty;
loadedCategory1!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post #1" } });
@ -163,7 +163,7 @@ describe("persistence > many-to-one bi-directional relation", function() {
await connection.manager.save(category);
// and check again if category is saved with new post
const loadedCategory2 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory2 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory2).not.to.be.empty;
loadedCategory2!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 2, title: "Hello Post #2" } });
})));

View File

@ -24,7 +24,7 @@ describe("persistence > many-to-one uni-directional relation", function() {
category.post = post;
await connection.manager.save(category);
const loadedCategory = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory).not.to.be.empty;
loadedCategory!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
})));
@ -35,7 +35,7 @@ describe("persistence > many-to-one uni-directional relation", function() {
category.post = post;
await connection.manager.save(category);
const loadedCategory = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory).not.to.be.empty;
loadedCategory!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
})));
@ -53,7 +53,7 @@ describe("persistence > many-to-one uni-directional relation", function() {
// save once again, just for fun
await connection.manager.save(category);
const loadedCategory1 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory1 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory1).not.to.be.empty;
loadedCategory1!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Updated post" } });
@ -61,7 +61,7 @@ describe("persistence > many-to-one uni-directional relation", function() {
(loadedCategory1!.post as Post).title = "Again Updated post";
await connection.manager.save(loadedCategory1);
const loadedCategory2 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory2 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory2).not.to.be.empty;
loadedCategory2!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Again Updated post" } });
})));
@ -76,7 +76,7 @@ describe("persistence > many-to-one uni-directional relation", function() {
await connection.manager.save(category);
// load and check if it was correctly saved
const loadedCategory1 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory1 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory1).not.to.be.empty;
loadedCategory1!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
@ -84,11 +84,11 @@ describe("persistence > many-to-one uni-directional relation", function() {
loadedCategory1!.post = undefined;
await connection.manager.save(loadedCategory1);
const loadedCategory2 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory2 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory2).not.to.be.empty;
loadedCategory2!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
const loadedPost = await connection.manager.findOneById(Post, 1);
const loadedPost = await connection.manager.findOne(Post, 1);
expect(loadedPost).not.to.be.empty;
loadedPost!.should.be.eql({ id: 1, title: "Hello Post" });
})));
@ -102,7 +102,7 @@ describe("persistence > many-to-one uni-directional relation", function() {
category.post = post;
await connection.manager.save(category);
const loadedCategory1 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory1 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory1).not.to.be.empty;
loadedCategory1!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
@ -110,7 +110,7 @@ describe("persistence > many-to-one uni-directional relation", function() {
loadedCategory1!.post = null;
await connection.manager.save(loadedCategory1);
const loadedCategory2 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory2 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory2).not.to.be.empty;
loadedCategory2!.should.be.eql({ id: 1, name: "Hello Category", post: null });
})));
@ -124,7 +124,7 @@ describe("persistence > many-to-one uni-directional relation", function() {
category.post = post;
await connection.manager.save(category);
const loadedCategory1 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory1 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory1).not.to.be.empty;
loadedCategory1!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post" } });
@ -132,7 +132,7 @@ describe("persistence > many-to-one uni-directional relation", function() {
await connection.manager.remove(post);
// now lets load category and make sure post isn't set there
const loadedCategory2 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory2 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory2).not.to.be.empty;
loadedCategory2!.should.be.eql({ id: 1, name: "Hello Category", post: null });
})));
@ -152,7 +152,7 @@ describe("persistence > many-to-one uni-directional relation", function() {
await connection.manager.save(category);
// check if category is saved with post set
const loadedCategory1 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory1 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory1).not.to.be.empty;
loadedCategory1!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 1, title: "Hello Post #1" } });
@ -161,7 +161,7 @@ describe("persistence > many-to-one uni-directional relation", function() {
await connection.manager.save(category);
// and check again if category is saved with new post
const loadedCategory2 = await connection.manager.findOneById(Category, 1, { relations: ["post"] });
const loadedCategory2 = await connection.manager.findOne(Category, 1, { relations: ["post"] });
expect(loadedCategory2).not.to.be.empty;
loadedCategory2!.should.be.eql({ id: 1, name: "Hello Category", post: { id: 2, title: "Hello Post #2" } });
})));

View File

@ -23,7 +23,7 @@ describe("persistence > null and default behaviour", () => {
post.title = "Category saved!";
await connection.manager.save(post);
const loadedPost = await connection.manager.findOneById(Post, 1);
const loadedPost = await connection.manager.findOne(Post, 1);
expect(loadedPost).to.exist;
loadedPost!.should.be.eql({
id: 1,
@ -38,7 +38,7 @@ describe("persistence > null and default behaviour", () => {
const post = new Post();
await connection.manager.save(post);
const loadedPost = await connection.manager.findOneById(Post, 1);
const loadedPost = await connection.manager.findOne(Post, 1);
expect(loadedPost).to.exist;
loadedPost!.should.be.eql({
id: 1,
@ -54,7 +54,7 @@ describe("persistence > null and default behaviour", () => {
post.title = null;
await connection.manager.save(post);
const loadedPost = await connection.manager.findOneById(Post, 1);
const loadedPost = await connection.manager.findOne(Post, 1);
expect(loadedPost).to.exist;
loadedPost!.should.be.eql({
id: 1,
@ -73,7 +73,7 @@ describe("persistence > null and default behaviour", () => {
post.title = undefined;
await connection.manager.save(post);
const loadedPost = await connection.manager.findOneById(Post, 1);
const loadedPost = await connection.manager.findOne(Post, 1);
expect(loadedPost).to.exist;
loadedPost!.should.be.eql({
id: 1,
@ -92,7 +92,7 @@ describe("persistence > null and default behaviour", () => {
post.title = null;
await connection.manager.save(post);
const loadedPost = await connection.manager.findOneById(Post, 1);
const loadedPost = await connection.manager.findOne(Post, 1);
expect(loadedPost).to.exist;
loadedPost!.should.be.eql({
id: 1,

View File

@ -40,7 +40,7 @@ describe("persistence > one-to-many", function() {
newPost.categories = [newCategory];
await postRepository.save(newPost);
const loadedPost = await postRepository.findOneById(1, { relations: ["categories"] });
const loadedPost = await postRepository.findOne(1, { relations: ["categories"] });
expect(loadedPost!).not.to.be.empty;
expect(loadedPost!.categories).not.to.be.empty;
expect(loadedPost!.categories![0]).not.to.be.empty;
@ -60,7 +60,7 @@ describe("persistence > one-to-many", function() {
newPost.categories = [newCategory];
await postRepository.save(newPost);
const loadedPost = await postRepository.findOneById(1, { relations: ["categories"] });
const loadedPost = await postRepository.findOne(1, { relations: ["categories"] });
expect(loadedPost).not.to.be.empty;
expect(loadedPost!.categories).not.to.be.empty;
expect(loadedPost!.categories![0]).not.to.be.empty;
@ -88,7 +88,7 @@ describe("persistence > one-to-many", function() {
newPost.categories = [firstNewCategory];
await postRepository.save(newPost);
const loadedPost = await postRepository.findOneById(1, {
const loadedPost = await postRepository.findOne(1, {
join: {
alias: "post",
innerJoinAndSelect: {
@ -124,7 +124,7 @@ describe("persistence > one-to-many", function() {
newPost.categories = [];
await postRepository.save(newPost);
const loadedPost = await postRepository.findOneById(1, {
const loadedPost = await postRepository.findOne(1, {
join: {
alias: "post",
leftJoinAndSelect: {
@ -158,7 +158,7 @@ describe("persistence > one-to-many", function() {
newPost.categories = null;
await postRepository.save(newPost);
const loadedPost = (await postRepository.findOneById(1, {
const loadedPost = (await postRepository.findOne(1, {
join: {
alias: "post",
leftJoinAndSelect: {

View File

@ -48,7 +48,7 @@ describe("persistence > partial persist", () => {
await postRepository.save(newPost);
// load a post
const loadedPost = await postRepository.findOneById(1, {
const loadedPost = await postRepository.findOne(1, {
join: {
alias: "post",
leftJoinAndSelect: {
@ -71,7 +71,7 @@ describe("persistence > partial persist", () => {
await postRepository.update({ title: "All about animals" }, { title: "All about bears" });
// now check if update worked as expected, title is updated and all other columns are not touched
const loadedPostAfterTitleUpdate = await postRepository.findOneById(1, {
const loadedPostAfterTitleUpdate = await postRepository.findOne(1, {
join: {
alias: "post",
leftJoinAndSelect: {
@ -94,7 +94,7 @@ describe("persistence > partial persist", () => {
await postRepository.update({ id: 1 }, { counters: { stars: 10 } });
// now check if update worked as expected, stars counter is updated and all other columns are not touched
const loadedPostAfterStarsUpdate = await postRepository.findOneById(1, {
const loadedPostAfterStarsUpdate = await postRepository.findOne(1, {
join: {
alias: "post",
leftJoinAndSelect: {
@ -117,7 +117,7 @@ describe("persistence > partial persist", () => {
await postRepository.save({ id: 1, categories: [{ id: 1, name: "Bears" }] });
// now check if update worked as expected, name of category is updated and all other columns are not touched
const loadedPostAfterCategoryUpdate = await postRepository.findOneById(1, {
const loadedPostAfterCategoryUpdate = await postRepository.findOne(1, {
join: {
alias: "post",
leftJoinAndSelect: {

View File

@ -47,13 +47,13 @@ describe("query builder > relational query builder > add and remove operations >
.of(image1)
.add(post1);
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.contain({ id: 1, url: "image #1" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.be.empty;
await connection
@ -62,13 +62,13 @@ describe("query builder > relational query builder > add and remove operations >
.of(image1)
.remove(post1);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.not.contain({ id: 1, url: "image #1" });
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.be.empty;
})));
@ -104,13 +104,13 @@ describe("query builder > relational query builder > add and remove operations >
.of(2) // image id
.add(2); // post id
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.contain({ id: 2, url: "image #2" });
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.be.empty;
await connection
@ -119,13 +119,13 @@ describe("query builder > relational query builder > add and remove operations >
.of(2) // image id
.remove(2); // post id
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.not.contain({ id: 2, url: "image #2" });
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.be.empty;
})));
@ -161,13 +161,13 @@ describe("query builder > relational query builder > add and remove operations >
.of({ id: 3 }) // image id
.add({ id: 3 }); // post id
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.contain({ id: 3, url: "image #3" });
await connection
@ -176,13 +176,13 @@ describe("query builder > relational query builder > add and remove operations >
.of({ id: 3 }) // image id
.remove({ id: 3 }); // post id
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.not.contain({ id: 3, url: "image #3" });
})));
@ -218,13 +218,13 @@ describe("query builder > relational query builder > add and remove operations >
.of([{ id: 1 }, { id: 3 }]) // images
.add({ id: 3 }); // post
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.contain({ id: 1, url: "image #1" });
expect(loadedPost3!.images).to.contain({ id: 3, url: "image #3" });
@ -234,13 +234,13 @@ describe("query builder > relational query builder > add and remove operations >
.of([{ id: 1 }, { id: 3 }]) // images
.remove({ id: 3 }); // post
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.not.contain({ id: 1, url: "image #1" });
expect(loadedPost3!.images).to.not.contain({ id: 3, url: "image #3" });
})));
@ -277,13 +277,13 @@ describe("query builder > relational query builder > add and remove operations >
.of({ id: 3 }) // image
.add([{ id: 1 }, { id: 3 }]); // posts
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.contain({ id: 3, url: "image #3" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.contain({ id: 3, url: "image #3" });
await connection
@ -292,13 +292,13 @@ describe("query builder > relational query builder > add and remove operations >
.of({ id: 3 }) // image
.remove([{ id: 1 }, { id: 3 }]); // posts
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.not.contain({ id: 3, url: "image #3" });
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.not.contain({ id: 3, url: "image #3" });
})));

View File

@ -47,13 +47,13 @@ describe("query builder > relational query builder > add and remove operations >
.of(post1)
.add(image1);
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.contain({ id: 1, url: "image #1" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.be.empty;
await connection
@ -62,13 +62,13 @@ describe("query builder > relational query builder > add and remove operations >
.of(post1)
.remove(image1);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.not.contain({ id: 1, url: "image #1" });
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.be.empty;
})));
@ -104,13 +104,13 @@ describe("query builder > relational query builder > add and remove operations >
.of(2) // post id
.add(2); // image id
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.contain({ id: 2, url: "image #2" });
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.be.empty;
await connection
@ -119,13 +119,13 @@ describe("query builder > relational query builder > add and remove operations >
.of(2) // post id
.remove(2); // image id
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.not.contain({ id: 2, url: "image #2" });
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.be.empty;
})));
@ -161,13 +161,13 @@ describe("query builder > relational query builder > add and remove operations >
.of({ id: 3 }) // post id
.add({ id: 3 }); // image id
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.contain({ id: 3, url: "image #3" });
await connection
@ -176,13 +176,13 @@ describe("query builder > relational query builder > add and remove operations >
.of({ id: 3 }) // post id
.remove({ id: 3 }); // image id
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.not.contain({ id: 3, url: "image #3" });
})));
@ -218,13 +218,13 @@ describe("query builder > relational query builder > add and remove operations >
.of([{ id: 1 }, { id: 3 }]) // posts
.add({ id: 3 }); // image
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.contain({ id: 3, url: "image #3" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.contain({ id: 3, url: "image #3" });
await connection
@ -233,13 +233,13 @@ describe("query builder > relational query builder > add and remove operations >
.of([{ id: 1 }, { id: 3 }]) // posts
.remove({ id: 3 }); // image
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.not.contain({ id: 3, url: "image #3" });
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.not.not.contain({ id: 3, url: "image #3" });
})));
@ -275,13 +275,13 @@ describe("query builder > relational query builder > add and remove operations >
.of({ id: 3 }) // post
.add([{ id: 1 }, { id: 3 }]); // images
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.contain({ id: 1, url: "image #1" });
expect(loadedPost3!.images).to.contain({ id: 3, url: "image #3" });
@ -291,13 +291,13 @@ describe("query builder > relational query builder > add and remove operations >
.of({ id: 3 }) // post
.remove([{ id: 1 }, { id: 3 }]); // images
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["images"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["images"] });
expect(loadedPost1!.images).to.be.empty;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["images"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["images"] });
expect(loadedPost2!.images).to.be.empty;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["images"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["images"] });
expect(loadedPost3!.images).to.not.contain({ id: 1, url: "image #1" });
expect(loadedPost3!.images).to.not.contain({ id: 3, url: "image #3" });
})));

View File

@ -47,13 +47,13 @@ describe("query builder > relational query builder > add operation > one to many
.of(category1)
.add(post1);
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.eql({ id: 1, name: "category #1" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
await connection
@ -62,13 +62,13 @@ describe("query builder > relational query builder > add operation > one to many
.of(category1)
.remove(post1);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
})));
@ -104,13 +104,13 @@ describe("query builder > relational query builder > add operation > one to many
.of(2) // category id
.add(2); // post id
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.eql({ id: 2, name: "category #2" });
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
await connection
@ -119,13 +119,13 @@ describe("query builder > relational query builder > add operation > one to many
.of(2) // category id
.remove(2); // post id
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
})));
@ -161,13 +161,13 @@ describe("query builder > relational query builder > add operation > one to many
.of({ id: 3 }) // category id
.add({ id: 3 }); // post id
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.eql({ id: 3, name: "category #3" });
await connection
@ -176,13 +176,13 @@ describe("query builder > relational query builder > add operation > one to many
.of({ id: 3 }) // category id
.remove({ id: 3 }); // post id
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
})));
@ -218,13 +218,13 @@ describe("query builder > relational query builder > add operation > one to many
.of({ id: 3 }) // category
.add([{ id: 1 }, { id: 3 }]); // posts
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.eql({ id: 3, name: "category #3" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.eql({ id: 3, name: "category #3" });
await connection
@ -233,13 +233,13 @@ describe("query builder > relational query builder > add operation > one to many
.of({ id: 3 }) // category
.remove([{ id: 1 }, { id: 3 }]); // posts
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
})));
@ -276,7 +276,7 @@ describe("query builder > relational query builder > add operation > one to many
.of(category3) // category
.add(post2); // post
let loadedPost1 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
let loadedPost1 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost1!.category).to.be.eql({ id: 3, name: "category #3" });
// when nothing is specified nothing should be performed
@ -286,7 +286,7 @@ describe("query builder > relational query builder > add operation > one to many
.of(category3) // category
.addAndRemove([], []); // post
loadedPost1 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
loadedPost1 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost1!.category).to.be.eql({ id: 3, name: "category #3" });
// now add and remove =)
@ -296,7 +296,7 @@ describe("query builder > relational query builder > add operation > one to many
.of(category3) // category
.addAndRemove([post1, post3], [post2]); // post
const loadedCategory = await connection.manager.findOneById(Category, 3, { relations: ["posts"] });
const loadedCategory = await connection.manager.findOne(Category, 3, { relations: ["posts"] });
expect(loadedCategory!.posts).to.contain({ id: 1, title: "post #1" });
expect(loadedCategory!.posts).to.not.contain({ id: 2, title: "post #2" });
expect(loadedCategory!.posts).to.contain({ id: 3, title: "post #3" });

View File

@ -44,7 +44,7 @@ describe("query builder > relational query builder > add and remove operations >
post3.images = [image1, image3];
await connection.manager.save(post3);
const loadedPost1 = await connection.manager.findOneById(Post, 1);
const loadedPost1 = await connection.manager.findOne(Post, 1);
loadedPost1!.images = await connection
.createQueryBuilder()
.relation(Post, "images")
@ -85,7 +85,7 @@ describe("query builder > relational query builder > add and remove operations >
post3.images = [image1, image3];
await connection.manager.save(post3);
const loadedPost1 = await connection.manager.findOneById(Post, 1);
const loadedPost1 = await connection.manager.findOne(Post, 1);
loadedPost1!.images = await connection
.createQueryBuilder()
.relation(Post, "images")
@ -126,7 +126,7 @@ describe("query builder > relational query builder > add and remove operations >
post3.images = [image1, image3];
await connection.manager.save(post3);
const loadedPost1 = await connection.manager.findOneById(Post, 1);
const loadedPost1 = await connection.manager.findOne(Post, 1);
loadedPost1!.images = await connection
.createQueryBuilder()
.relation(Post, "images")

View File

@ -44,7 +44,7 @@ describe("query builder > relational query builder > load operation > many-to-on
post3.category = category1;
await connection.manager.save(post3);
const loadedPost1 = await connection.manager.findOneById(Post, 1);
const loadedPost1 = await connection.manager.findOne(Post, 1);
const loadedCategory1: Category = await connection
.createQueryBuilder()
.relation(Post, "category")
@ -54,7 +54,7 @@ describe("query builder > relational query builder > load operation > many-to-on
expect(loadedPost1!.category).to.be.eql({ id: 3, name: "category #3" });
const loadedPost2 = await connection.manager.findOneById(Post, 2);
const loadedPost2 = await connection.manager.findOne(Post, 2);
const loadedCategory2: Category = await connection
.createQueryBuilder()
.relation(Post, "category")
@ -64,7 +64,7 @@ describe("query builder > relational query builder > load operation > many-to-on
expect(loadedPost2!.category).to.be.eql({ id: 2, name: "category #2" });
const loadedPost3 = await connection.manager.findOneById(Post, 3);
const loadedPost3 = await connection.manager.findOne(Post, 3);
const loadedCategory3: Category = await connection
.createQueryBuilder()
.relation(Post, "category")
@ -104,7 +104,7 @@ describe("query builder > relational query builder > load operation > many-to-on
post3.category = category1;
await connection.manager.save(post3);
const loadedPost1 = await connection.manager.findOneById(Post, 1);
const loadedPost1 = await connection.manager.findOne(Post, 1);
const loadedCategory1: Category = await connection
.createQueryBuilder()
.relation(Post, "category")
@ -114,7 +114,7 @@ describe("query builder > relational query builder > load operation > many-to-on
expect(loadedPost1!.category).to.be.eql({ id: 3, name: "category #3" });
const loadedPost2 = await connection.manager.findOneById(Post, 2);
const loadedPost2 = await connection.manager.findOne(Post, 2);
const loadedCategory2: Category = await connection
.createQueryBuilder()
.relation(Post, "category")
@ -124,7 +124,7 @@ describe("query builder > relational query builder > load operation > many-to-on
expect(loadedPost2!.category).to.be.eql({ id: 2, name: "category #2" });
const loadedPost3 = await connection.manager.findOneById(Post, 3);
const loadedPost3 = await connection.manager.findOne(Post, 3);
const loadedCategory3: Category = await connection
.createQueryBuilder()
.relation(Post, "category")
@ -164,7 +164,7 @@ describe("query builder > relational query builder > load operation > many-to-on
post3.category = category1;
await connection.manager.save(post3);
const loadedPost1 = await connection.manager.findOneById(Post, 1);
const loadedPost1 = await connection.manager.findOne(Post, 1);
const loadedCategory1: Category = await connection
.createQueryBuilder()
.relation(Post, "category")
@ -174,7 +174,7 @@ describe("query builder > relational query builder > load operation > many-to-on
expect(loadedPost1!.category).to.be.eql({ id: 3, name: "category #3" });
const loadedPost2 = await connection.manager.findOneById(Post, 2);
const loadedPost2 = await connection.manager.findOne(Post, 2);
const loadedCategory2: Category = await connection
.createQueryBuilder()
.relation(Post, "category")
@ -184,7 +184,7 @@ describe("query builder > relational query builder > load operation > many-to-on
expect(loadedPost2!.category).to.be.eql({ id: 2, name: "category #2" });
const loadedPost3 = await connection.manager.findOneById(Post, 3);
const loadedPost3 = await connection.manager.findOne(Post, 3);
const loadedCategory3: Category = await connection
.createQueryBuilder()
.relation(Post, "category")

View File

@ -47,13 +47,13 @@ describe("query builder > relational query builder > set operation > many to one
.of(post1)
.set(category1);
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.eql({ id: 1, name: "category #1" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
await connection
@ -62,13 +62,13 @@ describe("query builder > relational query builder > set operation > many to one
.of(post1)
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
})));
@ -104,13 +104,13 @@ describe("query builder > relational query builder > set operation > many to one
.of(2)
.set(2);
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.eql({ id: 2, name: "category #2" });
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
await connection
@ -119,13 +119,13 @@ describe("query builder > relational query builder > set operation > many to one
.of(2)
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
})));
@ -161,13 +161,13 @@ describe("query builder > relational query builder > set operation > many to one
.of({ id: 3 })
.set({ id: 3 });
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.eql({ id: 3, name: "category #3" });
await connection
@ -176,13 +176,13 @@ describe("query builder > relational query builder > set operation > many to one
.of({ id: 3 })
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
})));
@ -218,13 +218,13 @@ describe("query builder > relational query builder > set operation > many to one
.of([{ id: 1 }, { id: 3 }])
.set({ id: 3 });
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.eql({ id: 3, name: "category #3" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.eql({ id: 3, name: "category #3" });
await connection
@ -233,13 +233,13 @@ describe("query builder > relational query builder > set operation > many to one
.of([{ id: 1 }, { id: 3 }])
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["category"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["category"] });
expect(loadedPost1!.category).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["category"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["category"] });
expect(loadedPost2!.category).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["category"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["category"] });
expect(loadedPost3!.category).to.be.undefined;
})));

View File

@ -47,13 +47,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of(image1)
.set(post1);
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.eql({ id: 1, url: "image #1" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
await connection
@ -62,13 +62,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of(image1)
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
})));
@ -104,13 +104,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of(2)
.set(2);
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.eql({ id: 2, url: "image #2" });
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
await connection
@ -119,13 +119,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of(2)
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
})));
@ -161,13 +161,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of({ id: 3 })
.set({ id: 3 });
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.eql({ id: 3, url: "image #3" });
await connection
@ -176,13 +176,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of({ id: 3 })
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
})));
@ -218,13 +218,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of({ id: 3 })
.set([{ id: 1 }, { id: 3 }]);
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.eql({ id: 3, url: "image #3" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.eql({ id: 3, url: "image #3" });
await connection
@ -233,13 +233,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of({ id: 3 })
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
})));

View File

@ -47,13 +47,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of(post1)
.set(image1);
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.eql({ id: 1, url: "image #1" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
await connection
@ -62,13 +62,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of(post1)
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
})));
@ -104,13 +104,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of(2)
.set(2);
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.eql({ id: 2, url: "image #2" });
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
await connection
@ -119,13 +119,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of(2)
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
})));
@ -161,13 +161,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of({ id: 3 })
.set({ id: 3 });
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.eql({ id: 3, url: "image #3" });
await connection
@ -176,13 +176,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of({ id: 3 })
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
})));
@ -218,13 +218,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of([{ id: 1 }, { id: 3 }])
.set({ id: 3 });
let loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
let loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.eql({ id: 3, url: "image #3" });
let loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
let loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
let loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
let loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.eql({ id: 3, url: "image #3" });
await connection
@ -233,13 +233,13 @@ describe("query builder > relational query builder > set operation > one-to-one
.of([{ id: 1 }, { id: 3 }])
.set(null);
loadedPost1 = await connection.manager.findOneById(Post, 1, { relations: ["image"] });
loadedPost1 = await connection.manager.findOne(Post, 1, { relations: ["image"] });
expect(loadedPost1!.image).to.be.undefined;
loadedPost2 = await connection.manager.findOneById(Post, 2, { relations: ["image"] });
loadedPost2 = await connection.manager.findOne(Post, 2, { relations: ["image"] });
expect(loadedPost2!.image).to.be.undefined;
loadedPost3 = await connection.manager.findOneById(Post, 3, { relations: ["image"] });
loadedPost3 = await connection.manager.findOne(Post, 3, { relations: ["image"] });
expect(loadedPost3!.image).to.be.undefined;
})));

View File

@ -60,7 +60,7 @@ describe("relations > eager relations > basic", () => {
it("should load all eager relations when object is loaded", () => Promise.all(connections.map(async connection => {
await prepareData(connection);
const loadedPost = await connection.manager.findOneById(Post, 1);
const loadedPost = await connection.manager.findOne(Post, 1);
loadedPost!.should.be.eql({
id: 1,
title: "about eager relations",

View File

@ -60,7 +60,7 @@ describe("basic-lazy-relations", () => {
savedPost.categories.should.eventually.be.eql([savedCategory1, savedCategory2, savedCategory3]);
const post = (await postRepository.findOneById(1))!;
const post = (await postRepository.findOne(1))!;
post.title.should.be.equal("Hello post");
post.text.should.be.equal("This is post about post");
@ -100,7 +100,7 @@ describe("basic-lazy-relations", () => {
savedPost.twoSideCategories.should.eventually.be.eql([savedCategory1, savedCategory2, savedCategory3]);
const post = (await postRepository.findOneById(1))!;
const post = (await postRepository.findOne(1))!;
post.title.should.be.equal("Hello post");
post.text.should.be.equal("This is post about post");
@ -112,7 +112,7 @@ describe("basic-lazy-relations", () => {
categories.should.contain(savedCategory2);
categories.should.contain(savedCategory3);
const category = (await categoryRepository.findOneById(1))!;
const category = (await categoryRepository.findOne(1))!;
category.name.should.be.equal("kids");
const twoSidePosts = await category.twoSidePosts;
@ -141,7 +141,7 @@ describe("basic-lazy-relations", () => {
newUser.profile.should.eventually.be.eql(profile);
// const loadOptions: FindOptions = { alias: "user", innerJoinAndSelect };
const loadedUser: any = await userRepository.findOneById(1);
const loadedUser: any = await userRepository.findOne(1);
loadedUser.firstName.should.be.equal("Umed");
loadedUser.secondName.should.be.equal("San");
loadedUser.profile.should.be.instanceOf(Promise);

View File

@ -53,7 +53,7 @@ describe("named-columns-lazy-relations", () => {
savedPost.categories.should.eventually.be.eql([savedCategory1, savedCategory2, savedCategory3]);
const post = (await postRepository.findOneById(1))!;
const post = (await postRepository.findOne(1))!;
post.title.should.be.equal("Hello post");
post.text.should.be.equal("This is post about post");
@ -93,7 +93,7 @@ describe("named-columns-lazy-relations", () => {
savedPost.twoSideCategories.should.eventually.be.eql([savedCategory1, savedCategory2, savedCategory3]);
const post = (await postRepository.findOneById(1))!;
const post = (await postRepository.findOne(1))!;
post.title.should.be.equal("Hello post");
post.text.should.be.equal("This is post about post");
@ -105,7 +105,7 @@ describe("named-columns-lazy-relations", () => {
categories.should.contain(savedCategory2);
categories.should.contain(savedCategory3);
const category = (await categoryRepository.findOneById(1))!;
const category = (await categoryRepository.findOne(1))!;
category.name.should.be.equal("kids");
const twoSidePosts = await category.twoSidePosts;

View File

@ -53,7 +53,7 @@ describe("named-tables-and-columns-lazy-relations", () => {
savedPost.categories.should.eventually.be.eql([savedCategory1, savedCategory2, savedCategory3]);
const post = (await postRepository.findOneById(1))!;
const post = (await postRepository.findOne(1))!;
post.title.should.be.equal("Hello post");
post.text.should.be.equal("This is post about post");
@ -93,7 +93,7 @@ describe("named-tables-and-columns-lazy-relations", () => {
savedPost.twoSideCategories.should.eventually.be.eql([savedCategory1, savedCategory2, savedCategory3]);
const post = (await postRepository.findOneById(1))!;
const post = (await postRepository.findOne(1))!;
post.title.should.be.equal("Hello post");
post.text.should.be.equal("This is post about post");
@ -105,7 +105,7 @@ describe("named-tables-and-columns-lazy-relations", () => {
categories.should.contain(savedCategory2);
categories.should.contain(savedCategory3);
const category = (await categoryRepository.findOneById(1))!;
const category = (await categoryRepository.findOne(1))!;
category.name.should.be.equal("kids");
const twoSidePosts = await category.twoSidePosts;

View File

@ -53,7 +53,7 @@ describe("named-tables-lazy-relations", () => {
savedPost.categories.should.eventually.be.eql([savedCategory1, savedCategory2, savedCategory3]);
const post = (await postRepository.findOneById(1))!;
const post = (await postRepository.findOne(1))!;
post.title.should.be.equal("Hello post");
post.text.should.be.equal("This is post about post");
@ -93,7 +93,7 @@ describe("named-tables-lazy-relations", () => {
savedPost.twoSideCategories.should.eventually.be.eql([savedCategory1, savedCategory2, savedCategory3]);
const post = (await postRepository.findOneById(1))!;
const post = (await postRepository.findOne(1))!;
post.title.should.be.equal("Hello post");
post.text.should.be.equal("This is post about post");
@ -105,7 +105,7 @@ describe("named-tables-lazy-relations", () => {
categories.should.contain(savedCategory2);
categories.should.contain(savedCategory3);
const category = (await categoryRepository.findOneById(1))!;
const category = (await categoryRepository.findOne(1))!;
category.name.should.be.equal("kids");
const twoSidePosts = await category.twoSidePosts;

View File

@ -436,7 +436,7 @@ describe("repository > find methods", () => {
});
describe("findOneById", function() {
describe("findOne", function() {
it("should return entity by a given id", () => Promise.all(connections.map(async connection => {
const userRepository = connection.getRepository<User>("User");
@ -453,17 +453,17 @@ describe("repository > find methods", () => {
const savedUsers = await Promise.all(promises);
savedUsers.length.should.be.equal(100); // check if they all are saved
let loadedUser = (await userRepository.findOneById(0))!;
let loadedUser = (await userRepository.findOne(0))!;
loadedUser.id.should.be.equal(0);
loadedUser.firstName.should.be.equal("name #0");
loadedUser.secondName.should.be.equal("Doe");
loadedUser = (await userRepository.findOneById(1))!;
loadedUser = (await userRepository.findOne(1))!;
loadedUser.id.should.be.equal(1);
loadedUser.firstName.should.be.equal("name #1");
loadedUser.secondName.should.be.equal("Doe");
loadedUser = (await userRepository.findOneById(99))!;
loadedUser = (await userRepository.findOne(99))!;
loadedUser.id.should.be.equal(99);
loadedUser.firstName.should.be.equal("name #99");
loadedUser.secondName.should.be.equal("Doe");
@ -484,7 +484,7 @@ describe("repository > find methods", () => {
const savedUsers = await Promise.all(promises);
savedUsers.length.should.be.equal(100); // check if they all are saved
let loadedUser = await userRepository.findOneById(0, {
let loadedUser = await userRepository.findOne(0, {
where: {
secondName: "Doe"
}
@ -493,7 +493,7 @@ describe("repository > find methods", () => {
loadedUser!.firstName.should.be.equal("name #0");
loadedUser!.secondName.should.be.equal("Doe");
loadedUser = await userRepository.findOneById(1, {
loadedUser = await userRepository.findOne(1, {
where: {
secondName: "Dorian"
}

View File

@ -49,7 +49,7 @@ describe.skip("repository > set/add/remove relation methods", function() {
// await postSpecificRepository.addToRelation(post => post.manyCategories, newPost.id, [newCategory1.id, newCategory2.id]);
// load a post, want to have categories count
const loadedPost = await postRepository.findOneById(1, {
const loadedPost = await postRepository.findOne(1, {
join: {
alias: "post",
leftJoinAndSelect: {
@ -89,7 +89,7 @@ describe.skip("repository > set/add/remove relation methods", function() {
// await categorySpecificRepository.addToRelation(category => category.manyPosts, newCategory.id, [newPost1.id, newPost2.id]);
// load a post, want to have categories count
const loadedCategory = await categoryRepository.findOneById(1, {
const loadedCategory = await categoryRepository.findOne(1, {
join: {
alias: "category",
leftJoinAndSelect: { manyPosts: "category.manyPosts" } }
@ -132,7 +132,7 @@ describe.skip("repository > set/add/remove relation methods", function() {
// await postSpecificRepository.removeFromRelation(post => post.manyCategories, newPost.id, [newCategory1.id, newCategory3.id]);
// load a post, want to have categories count
const loadedPost = await postRepository.findOneById(1, {
const loadedPost = await postRepository.findOne(1, {
join: {
alias: "post",
leftJoinAndSelect: { manyCategories: "post.manyCategories" }
@ -176,7 +176,7 @@ describe.skip("repository > set/add/remove relation methods", function() {
// await categorySpecificRepository.removeFromRelation(post => post.manyPosts, newCategory.id, [newPost1.id, newPost3.id]);
// load a post, want to have categories count
const loadedCategory = await categoryRepository.findOneById(1, {
const loadedCategory = await categoryRepository.findOne(1, {
join: {
alias: "category",
leftJoinAndSelect: { manyPosts: "category.manyPosts" }
@ -209,7 +209,7 @@ describe.skip("repository > set/add/remove relation methods", function() {
// await postSpecificRepository.setRelation(post => post.categories, newPost.id, newCategory1.id);
// load a post, want to have categories count
const loadedPost = await postRepository.findOneById(1, {
const loadedPost = await postRepository.findOne(1, {
join: {
alias: "post",
leftJoinAndSelect: { categories: "post.categories" }
@ -241,7 +241,7 @@ describe.skip("repository > set/add/remove relation methods", function() {
// await categorySpecificRepository.setRelation(category => category.post, newCategory.id, newPost.id);
// load a post, want to have categories count
const loadedCategory = await categoryRepository.findOneById(1, {
const loadedCategory = await categoryRepository.findOne(1, {
join: {
alias: "category",
leftJoinAndSelect: { post: "category.post" }
@ -272,7 +272,7 @@ describe.skip("repository > set/add/remove relation methods", function() {
// await postSpecificRepository.setRelation(post => post.categories, newPost.id, null);
// load a post, want to have categories count
const loadedPost = await postRepository.findOneById(1, {
const loadedPost = await postRepository.findOne(1, {
join: {
alias: "post",
leftJoinAndSelect: { categories: "post.categories" }
@ -303,7 +303,7 @@ describe.skip("repository > set/add/remove relation methods", function() {
// await categorySpecificRepository.setRelation(category => category.post, newCategory.id, null);
// load a post, want to have categories count
const loadedCategory = await categoryRepository.findOneById(1, {
const loadedCategory = await categoryRepository.findOne(1, {
join: {
alias: "category",
leftJoinAndSelect: { post: "category.post" }

View File

@ -30,19 +30,19 @@ describe("uuid-mssql", () => {
const post = new Post();
await postRepository.save(post);
const loadedPost = await postRepository.findOneById(1);
const loadedPost = await postRepository.findOne(1);
expect(loadedPost!.uuid).to.be.exist;
postTableSchema!.findColumnByName("uuid")!.type.should.be.equal("uniqueidentifier");
const post2 = new Post();
post2.uuid = "FD357B8F-8838-42F6-B7A2-AE027444E895";
await postRepository.save(post2);
const loadedPost2 = await postRepository.findOneById(2);
const loadedPost2 = await postRepository.findOne(2);
expect(loadedPost2!.uuid).to.equal("FD357B8F-8838-42F6-B7A2-AE027444E895");
const question = new Question();
const savedQuestion = await questionRepository.save(question);
const loadedQuestion = await questionRepository.findOneById(savedQuestion.id);
const loadedQuestion = await questionRepository.findOne(savedQuestion.id);
expect(loadedQuestion!.id).to.be.exist;
expect(loadedQuestion!.uuid).to.be.exist;
expect(loadedQuestion!.uuid2).to.be.null;
@ -58,7 +58,7 @@ describe("uuid-mssql", () => {
question2.uuid2 = null;
question2.uuid3 = null;
await questionRepository.save(question2);
const loadedQuestion2 = await questionRepository.findOneById("1ECAD7F6-23EE-453E-BB44-16ECA26D5189");
const loadedQuestion2 = await questionRepository.findOne("1ECAD7F6-23EE-453E-BB44-16ECA26D5189");
expect(loadedQuestion2!.id).to.equal("1ECAD7F6-23EE-453E-BB44-16ECA26D5189");
expect(loadedQuestion2!.uuid).to.equal("35B44650-B2CD-44EC-AA54-137FBDF1C373");
expect(loadedQuestion2!.uuid2).to.be.null;

View File

@ -5,7 +5,7 @@ import {closeTestingConnections, createTestingConnections, reloadTestingDatabase
import {Post} from "./entity/Post";
import {Question} from "./entity/Question";
describe.only("uuid-mysql", () => {
describe("uuid-mysql", () => {
let connections: Connection[];
before(async () => {

View File

@ -32,7 +32,7 @@ describe("uuid-postgres", () => {
const record = new Record();
record.id = "fd357b8f-8838-42f6-b7a2-ae027444e895";
const persistedRecord = await recordRepo.save(record);
const foundRecord = await recordRepo.findOneById(persistedRecord.id);
const foundRecord = await recordRepo.findOne(persistedRecord.id);
expect(foundRecord).to.be.exist;
expect(foundRecord!.id).to.eq("fd357b8f-8838-42f6-b7a2-ae027444e895");
})));
@ -48,14 +48,14 @@ describe("uuid-postgres", () => {
const post = new Post();
await postRepository.save(post);
const loadedPost = await postRepository.findOneById(1);
const loadedPost = await postRepository.findOne(1);
expect(loadedPost!.uuid).to.be.exist;
postTableSchema!.findColumnByName("uuid")!.type.should.be.equal("uuid");
const post2 = new Post();
post2.uuid = "fd357b8f-8838-42f6-b7a2-ae027444e895";
await postRepository.save(post2);
const loadedPost2 = await postRepository.findOneById(2);
const loadedPost2 = await postRepository.findOne(2);
expect(loadedPost2!.uuid).to.equal("fd357b8f-8838-42f6-b7a2-ae027444e895");
const question = new Question();
@ -68,7 +68,7 @@ describe("uuid-postgres", () => {
expect(savedQuestion!.uuid3).to.be.null;
expect(savedQuestion!.uuid4).to.be.exist;
const loadedQuestion = await questionRepository.findOneById(savedQuestion.id);
const loadedQuestion = await questionRepository.findOne(savedQuestion.id);
expect(loadedQuestion!.id).to.be.exist;
expect(loadedQuestion!.uuid).to.be.exist;
expect(loadedQuestion!.uuid2).to.equal("fd357b8f-8838-42f6-b7a2-ae027444e895");
@ -86,7 +86,7 @@ describe("uuid-postgres", () => {
question2.uuid3 = null;
question2.uuid4 = null;
await questionRepository.save(question2);
const loadedQuestion2 = await questionRepository.findOneById("1ecad7f6-23ee-453e-bb44-16eca26d5189");
const loadedQuestion2 = await questionRepository.findOne("1ecad7f6-23ee-453e-bb44-16eca26d5189");
expect(loadedQuestion2!.id).to.equal("1ecad7f6-23ee-453e-bb44-16eca26d5189");
expect(loadedQuestion2!.uuid).to.equal("35b44650-b2cd-44ec-aa54-137fbdf1c373");
expect(loadedQuestion2!.uuid2).to.equal("fd357b8f-8838-42f6-b7a2-ae027444e895");

View File

@ -30,20 +30,20 @@ describe("uuid-sqlite", () => {
const post = new Post();
await postRepository.save(post);
const loadedPost = await postRepository.findOneById(1);
const loadedPost = await postRepository.findOne(1);
expect(loadedPost!.uuid).to.be.exist;
postTableSchema!.findColumnByName("uuid")!.type.should.be.equal("varchar");
const post2 = new Post();
post2.uuid = "fd357b8f-8838-42f6-b7a2-ae027444e895";
await postRepository.save(post2);
const loadedPost2 = await postRepository.findOneById(2);
const loadedPost2 = await postRepository.findOne(2);
expect(loadedPost2!.uuid).to.equal("fd357b8f-8838-42f6-b7a2-ae027444e895");
const question = new Question();
question.uuid2 = "fd357b8f-8838-42f6-b7a2-ae027444e895";
const savedQuestion = await questionRepository.save(question);
const loadedQuestion = await questionRepository.findOneById(savedQuestion.id);
const loadedQuestion = await questionRepository.findOne(savedQuestion.id);
expect(loadedQuestion!.id).to.be.exist;
expect(loadedQuestion!.uuid).to.be.exist;
expect(loadedQuestion!.uuid2).to.equal("fd357b8f-8838-42f6-b7a2-ae027444e895");
@ -61,7 +61,7 @@ describe("uuid-sqlite", () => {
question2.uuid3 = null;
question2.uuid4 = null;
await questionRepository.save(question2);
const loadedQuestion2 = await questionRepository.findOneById("1ecad7f6-23ee-453e-bb44-16eca26d5189");
const loadedQuestion2 = await questionRepository.findOne("1ecad7f6-23ee-453e-bb44-16eca26d5189");
expect(loadedQuestion2!.id).to.equal("1ecad7f6-23ee-453e-bb44-16eca26d5189");
expect(loadedQuestion2!.uuid).to.equal("35b44650-b2cd-44ec-aa54-137fbdf1c373");
expect(loadedQuestion2!.uuid2).to.equal("fd357b8f-8838-42f6-b7a2-ae027444e895");

View File

@ -32,7 +32,7 @@ describe("github issues > #1014 Transaction doesn't rollback", () => {
} catch (err) { error = err; }
expect(error).to.be.instanceof(Error);
const loadedTestEntity = await connection.manager.findOneById(TestEntity, 1);
const loadedTestEntity = await connection.manager.findOne(TestEntity, 1);
expect(loadedTestEntity).not.to.be.empty;
loadedTestEntity!.should.be.eql({ id: 1, name: "Hello Test" });
})));

View File

@ -33,7 +33,7 @@ describe("github issues > #1042 EntityMetadataUtils.createPropertyPath does not
await connection.manager.save(user);
// load and check if saved user is correct
const loadedUser = await connection.manager.findOneById(User, 1);
const loadedUser = await connection.manager.findOne(User, 1);
expect(loadedUser).not.to.be.empty;
loadedUser!.should.be.eql({
id: 1,
@ -66,7 +66,7 @@ describe("github issues > #1042 EntityMetadataUtils.createPropertyPath does not
.execute();
// load and check again
const loadedUser2 = await connection.manager.findOneById(User, 1);
const loadedUser2 = await connection.manager.findOne(User, 1);
expect(loadedUser2).not.to.be.empty;
loadedUser2!.should.be.eql({
id: 1,
@ -100,7 +100,7 @@ describe("github issues > #1042 EntityMetadataUtils.createPropertyPath does not
.execute();
// load and check again
const loadedUser3 = await connection.manager.findOneById(User, 1);
const loadedUser3 = await connection.manager.findOne(User, 1);
expect(loadedUser3).not.to.be.empty;
loadedUser3!.should.be.eql({
id: 1,
@ -134,7 +134,7 @@ describe("github issues > #1042 EntityMetadataUtils.createPropertyPath does not
.execute();
// load and check again
const loadedUser4 = await connection.manager.findOneById(User, 1);
const loadedUser4 = await connection.manager.findOne(User, 1);
expect(loadedUser4).not.to.be.empty;
loadedUser4!.should.be.eql({
id: 1,

View File

@ -27,7 +27,7 @@ describe("github issues > #151 joinAndSelect can't find entity from inverse side
await connection.manager.save(post);
const loadedPost = await connection.manager.findOneById(Post, 1, {
const loadedPost = await connection.manager.findOne(Post, 1, {
join: {
alias: "post",
innerJoinAndSelect: {

View File

@ -29,7 +29,7 @@ describe("github issues > #161 joinAndSelect can't find entity from inverse side
await connection.manager.save(ticket);
const loadedTicketWithRequest = await connection.manager.findOneById(Ticket, 1, {
const loadedTicketWithRequest = await connection.manager.findOne(Ticket, 1, {
join: {
alias: "ticket",
innerJoinAndSelect: {
@ -50,7 +50,7 @@ describe("github issues > #161 joinAndSelect can't find entity from inverse side
}
});
const loadedRequestWithTicket = await connection.manager.findOneById(Request, 1, {
const loadedRequestWithTicket = await connection.manager.findOne(Request, 1, {
join: {
alias: "request",
innerJoinAndSelect: {
@ -94,7 +94,7 @@ describe("github issues > #161 joinAndSelect can't find entity from inverse side
await connection.manager.save(request);
const loadedRequest = await connection.manager.findOneById(Request, 2, {
const loadedRequest = await connection.manager.findOne(Request, 2, {
join: {
alias: "request",
innerJoinAndSelect: { ticket: "request.ticket" }

View File

@ -29,7 +29,7 @@ describe("github issues > #204 jsonb array is not persisted correctly", () => {
];
await connection.manager.save(record);
const foundRecord = await connection.manager.findOneById(Record, record.id);
const foundRecord = await connection.manager.findOne(Record, record.id);
expect(foundRecord).to.be.not.undefined;
foundRecord!.datas.should.be.eql([
new RecordData("hello1", "hello2", "hello3", "hello4", true, false),

View File

@ -19,7 +19,7 @@ describe("github issues > #433 default value (json) is not getting set in postgr
const post = new Post();
post.id = 1;
await connection.getRepository(Post).save(post);
const loadedPost = (await connection.getRepository(Post).findOneById(1))!;
const loadedPost = (await connection.getRepository(Post).findOne(1))!;
loadedPost.json.should.be.eql({ hello: "world" });
})));

View File

@ -19,7 +19,7 @@ describe("github issues > #463 saving empty string array", () => {
const post = new Post();
post.names = [];
await connection.getRepository(Post).save(post);
const loadedPost = await connection.getRepository(Post).findOneById(1);
const loadedPost = await connection.getRepository(Post).findOne(1);
loadedPost!.names.length.should.be.eql(0);
})));

View File

@ -27,7 +27,7 @@ describe("github issues > #485 If I set the datatype of PrimaryGeneratedColumn t
const post = new Post();
const savedPost = await postRepository.save(post);
const loadedPost = await postRepository.findOneById(savedPost.id);
const loadedPost = await postRepository.findOne(savedPost.id);
expect(loadedPost).to.be.not.undefined;
expect(loadedPost!.id).to.equal(savedPost.id);

View File

@ -43,7 +43,7 @@ describe("github issues > #513 Incorrect time/datetime types for SQLite", () =>
await connection.manager.save(post);
const storedPost = await connection.manager.findOneById(Post, post.id);
const storedPost = await connection.manager.findOne(Post, post.id);
expect(storedPost).to.not.be.null;
storedPost!.dateTimeColumn.toDateString().should.equal(now.toDateString());
})));
@ -73,7 +73,7 @@ describe("github issues > #513 Incorrect time/datetime types for SQLite", () =>
await connection.manager.save(post);
const storedPost = await connection.manager.findOneById(Post, post.id);
const storedPost = await connection.manager.findOne(Post, post.id);
expect(storedPost).to.not.be.null;
const expectedTimeString = DateUtils.mixedTimeToString(now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds());

View File

@ -4,7 +4,7 @@ import {Connection} from "../../../src/connection/Connection";
import {Post} from "./entity/Post";
import {Category} from "./entity/Category";
describe("github issues > #703 findOneById does not return an empty array on OneToMany relationship", () => {
describe("github issues > #703.findOne does not return an empty array on OneToMany relationship", () => {
let connections: Connection[];
before(async () => connections = await createTestingConnections({
@ -28,7 +28,7 @@ describe("github issues > #703 findOneById does not return an empty array on One
post.categories = [];
await connection.manager.save(post);
const loadedPost = await connection.getRepository(Post).findOneById(1, {
const loadedPost = await connection.getRepository(Post).findOne(1, {
relations: ["categories"]
});

View File

@ -59,12 +59,12 @@ describe("github issues > #720 `.save()` not updating composite key with Postgre
const count2 = await connection.manager.count(Participant);
expect(count2).to.be.equal(3);
const loadedParticipant1 = await connection.manager.findOneById(Participant, { order_id: 1, distance: "one" });
const loadedParticipant1 = await connection.manager.findOne(Participant, { order_id: 1, distance: "one" });
expect(loadedParticipant1!.order_id).to.be.equal(1);
expect(loadedParticipant1!.distance).to.be.equal("one");
expect(loadedParticipant1!.price).to.be.equal("150$");
const loadedParticipant2 = await connection.manager.findOneById(Participant, { order_id: 1, distance: "two" });
const loadedParticipant2 = await connection.manager.findOne(Participant, { order_id: 1, distance: "two" });
expect(loadedParticipant2!.order_id).to.be.equal(1);
expect(loadedParticipant2!.distance).to.be.equal("two");
expect(loadedParticipant2!.price).to.be.equal("250$");
@ -92,11 +92,13 @@ describe("github issues > #720 `.save()` not updating composite key with Postgre
translation.text = "Changed Text";
await connection.manager.save(translation);
const foundTranslation = await connection.manager.getRepository(Translation).findOneById({
const foundTranslation = await connection.manager.getRepository(Translation).findOne({
locale: {
code: "US"
},
message: "1"
message: {
id: "1"
}
});
expect(foundTranslation).to.be.eql({
text: "Changed Text"

View File

@ -29,7 +29,7 @@ describe("github issues > #836 .save won't update entity when it contains OneToO
credential.user = user;
await connection.manager.save(credential);
// const loadedCredentials = await connection.manager.findOneById(UserCredential, 1, {
// const loadedCredentials = await connection.manager.findOne(UserCredential, 1, {
// alias: "user_credential",
// innerJoinAndSelect: {
// user: "user_credential.user",

View File

@ -32,7 +32,7 @@ describe.skip("github issues > #838 Time zones for timestamp columns are incorre
// const results = await postgresConnection.query(`SELECT date FROM "flight" WHERE id = 1`);
// console.log(results);
await postgresConnection.query(`INSERT INTO "flight" ("id", "date") VALUES (1, '${testDateString}');`);
const flight = await postgresConnection.manager.findOneById(Flight, 1);
const flight = await postgresConnection.manager.findOne(Flight, 1);
expect(flight!.date.toISOString()).to.equal(new Date(testDateString).toISOString());
});

View File

@ -28,7 +28,7 @@ describe("github issues > #966 Inheritance in embeddables", () => {
await repository.save(user);
const loadedUser = await repository.findOneById(user.id);
const loadedUser = await repository.findOne(user.id);
expect(info).to.deep.equal(loadedUser!.info);
})));

View File

@ -34,7 +34,7 @@ describe("insertion", function() {
savedPost.should.be.equal(newPost);
expect(savedPost.id).not.to.be.empty;
const insertedPost = await postRepository.findOneById(savedPost.id);
const insertedPost = await postRepository.findOne(savedPost.id);
insertedPost!.should.be.eql({
id: savedPost.id,
text: "Hello post",

View File

@ -87,7 +87,7 @@ describe("one-to-one", function() {
expectedPost.text = savedPost.text;
expectedPost.title = savedPost.title;
return postRepository.findOneById(savedPost.id).should.eventually.eql(expectedPost);
return postRepository.findOne(savedPost.id).should.eventually.eql(expectedPost);
});
it("should have inserted post details in the database", function() {
@ -97,7 +97,7 @@ describe("one-to-one", function() {
expectedDetails.comment = savedPost.details.comment;
expectedDetails.metadata = savedPost.details.metadata;
return postDetailsRepository.findOneById(savedPost.details.id).should.eventually.eql(expectedDetails);
return postDetailsRepository.findOne(savedPost.details.id).should.eventually.eql(expectedDetails);
});
it("should load post and its details if left join used", async function() {
@ -208,14 +208,14 @@ describe("one-to-one", function() {
expectedPost.id = savedPost.id;
expectedPost.text = savedPost.text;
expectedPost.title = savedPost.title;
return postRepository.findOneById(savedPost.id).should.eventually.eql(expectedPost);
return postRepository.findOne(savedPost.id).should.eventually.eql(expectedPost);
});
it("should have inserted category in the database", function() {
const expectedPost = new PostCategory();
expectedPost.id = savedPost.category.id;
expectedPost.name = "technology";
return postCategoryRepository.findOneById(savedPost.category.id).should.eventually.eql(expectedPost);
return postCategoryRepository.findOne(savedPost.category.id).should.eventually.eql(expectedPost);
});
it("should load post and its category if left join used", function() {

Some files were not shown because too many files have changed in this diff Show More