renamed persist into save in manager and repository

This commit is contained in:
Umed Khudoiberdiev 2017-05-19 14:53:34 +05:00
parent d7e06d7cc5
commit bababca2c0
153 changed files with 1377 additions and 1315 deletions

View File

@ -43,7 +43,7 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(Post);
postRepository
.persist(post)
.save(post)
.then(post => console.log("Post has been saved: ", post))
.catch(error => console.log("Cannot save. Error: ", error));

View File

@ -46,7 +46,7 @@ createConnection(options).then(connection => {
post.images.push(image);
post.categories = [category1, category2];
postRepository.persist(post).then(result => {
postRepository.save(post).then(result => {
/*const qb = postRepository.createQueryBuilder("post")
.leftJoinAndSelect("post.details", "details")

View File

@ -44,11 +44,11 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(EverythingEntity);
postRepository
.persist(entity)
.save(entity)
.then(entity => {
console.log("EverythingEntity has been saved. Lets insert a new one to update it later");
delete entity.id;
return postRepository.persist(entity);
return postRepository.save(entity);
})
.then(entity => {
console.log("Second entity has been inserted. Lets update it");
@ -72,13 +72,13 @@ createConnection(options).then(connection => {
entity.jsonColumn = [{ olleh: "hello" }, { dlrow: "world" }];
entity.alsoJson = { olleh: "hello", dlrow: "world" };
return postRepository.persist(entity);
return postRepository.save(entity);
})
.then(entity => {
console.log("Entity has been updated. Persist once again to make find and remove then");
delete entity.id;
return postRepository.persist(entity);
return postRepository.save(entity);
})
.then(entity => {
return postRepository.findOneById(entity.id);

View File

@ -27,7 +27,7 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(Post);
postRepository
.persist(post)
.save(post)
.then(post => console.log("Post has been saved"))
.catch(error => console.log("Cannot save. Error: ", error));

View File

@ -62,14 +62,14 @@ createConnection(options).then(connection => {
let blogRepository = connection.getRepository(Blog);
postRepository
.persist(post)
.save(post)
.then(post => {
console.log("Post has been saved");
return postRepository.findOneById(post.id);
})
.then(loadedPost => {
console.log("post is loaded: ", loadedPost);
return blogRepository.persist(blog);
return blogRepository.save(blog);
})
.then(blog => {
console.log("Blog has been saved");
@ -77,7 +77,7 @@ createConnection(options).then(connection => {
})
.then(loadedBlog => {
console.log("blog is loaded: ", loadedBlog);
return blogRepository.persist(blog);
return blogRepository.save(blog);
})
.catch(error => console.log("Cannot save. Error: ", error.stack ? error.stack : error));

View File

@ -29,7 +29,7 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(Post);
postRepository
.persist(post)
.save(post)
.then(post => console.log("Post has been saved"))
.catch(error => console.log("Cannot save. Error: ", error));

View File

@ -32,7 +32,7 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(Post);
postRepository
.persist(post)
.save(post)
.then(post => console.log("Post has been saved"));
}, error => console.log("Cannot connect: ", error));

View File

@ -28,12 +28,12 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(Post);
postRepository
.persist(post)
.save(post)
.then(post => {
console.log(`Post has been saved: `, post);
console.log(`Post's version is ${post.version}. Lets change post's text and update it:`);
post.title = "updating title";
return postRepository.persist(post);
return postRepository.save(post);
}).then(post => {
console.log(`Post has been updated. Post's version is ${post.version}`);

View File

@ -37,7 +37,7 @@ createConnection(options).then(connection => {
// same as: post.author = Promise.resolve(author);
postRepository
.persist(post)
.save(post)
.then(post => {
console.log("Post has been saved. Lets save post from inverse side.");
console.log(post);
@ -47,14 +47,14 @@ createConnection(options).then(connection => {
secondPost.title = "About second post";
author.posts = Promise.resolve([secondPost]);
return authorRepository.persist(author);
return authorRepository.save(author);
})
.then((author: any) => { // temporary
console.log("Author with a new post has been saved. Lets try to update post in the author");
return author.posts!.then((posts: any) => { // temporary
posts![0]!.title = "should be updated second post";
return authorRepository.persist(author!);
return authorRepository.save(author!);
});
})
.then(updatedAuthor => {
@ -67,7 +67,7 @@ createConnection(options).then(connection => {
console.log("Now lets delete a post");
posts[0].author = Promise.resolve(null);
posts[1].author = Promise.resolve(null);
return postRepository.persist(posts[0]);
return postRepository.save(posts[0]);
})
.then(posts => {
console.log("Two post's author has been removed.");
@ -87,7 +87,7 @@ createConnection(options).then(connection => {
category2
]);
return postRepository.persist(post);
return postRepository.save(post);
})
.then(posts => {
console.log("Post has been saved with its categories. ");
@ -100,7 +100,7 @@ createConnection(options).then(connection => {
return posts[0].categories.then((categories: any) => { // temporary
categories!.splice(0, 1);
// console.log(posts[0]);
return postRepository.persist(posts[0]);
return postRepository.save(posts[0]);
});
})
.then(posts => {

View File

@ -49,7 +49,7 @@ createConnection(options).then(connection => {
post.categories = [category1, category2];
postRepository
.persist(post)
.save(post)
.then(post => {
console.log("Post has been saved.");
console.log(post);

View File

@ -39,7 +39,7 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(Post);
postRepository
.persist(post)
.save(post)
.then(post => {
console.log("Post has been saved. Lets try to find this post using query builder: ");
return postRepository

View File

@ -46,12 +46,12 @@ createConnection(options).then(connection => {
post.categories = [category1, category2];
Promise.all<any>([
authorRepository.persist(author),
categoryRepository.persist(category1),
categoryRepository.persist(category2),
authorRepository.save(author),
categoryRepository.save(category1),
categoryRepository.save(category2),
])
.then(() => {
return postRepository.persist(post);
return postRepository.save(post);
})
.then(() => {
console.log("Everything has been saved.");

View File

@ -41,7 +41,7 @@ createConnection(options).then(connection => {
post.categories = [category1, category2];
postRepository
.persist(post)
.save(post)
.then(post => {
console.log("Post has been saved. Lets load it now.");
return postRepository.find({

View File

@ -42,7 +42,7 @@ createConnection(options).then(connection => {
category1.childCategories = [childCategory1, childCategory2];
return categoryRepository
.persist(category1)
.save(category1)
.then(category => {
console.log("Categories has been saved. Lets now load it and all its descendants:");
return categoryRepository.findDescendants(category1);

View File

@ -44,7 +44,7 @@ createConnection(options).then(connection => {
author2.name = "Bakhrom";
postRepository
.persist(post)
.save(post)
.then(post => {
return postRepository
.createQueryBuilder("post")
@ -63,7 +63,7 @@ createConnection(options).then(connection => {
post.author = author2;
return postRepository.persist(post);
return postRepository.save(post);
})
.then(updatedPost => {
return postRepository
@ -80,7 +80,7 @@ createConnection(options).then(connection => {
console.log("updating with: ", author);
loadedPost!.title = "Umed's post";
loadedPost!.author = author;
return postRepository.persist(loadedPost!);
return postRepository.save(loadedPost!);
})
.then(updatedPost => {
return postRepository
@ -94,7 +94,7 @@ createConnection(options).then(connection => {
console.log(loadedPost);
console.log("Now lets remove post's author:");
post.author = null;
return postRepository.persist(post);
return postRepository.save(post);
})
.then(updatedPost => {
return postRepository
@ -108,7 +108,7 @@ createConnection(options).then(connection => {
console.log(loadedPost);
console.log("Finally bakhrom's post:");
post.author = author2;
return postRepository.persist(post);
return postRepository.save(post);
})
.then(updatedPost => {
return postRepository

View File

@ -39,7 +39,7 @@ createConnection(options).then(connection => {
};
postRepository
.persist(post)
.save(post)
.then(result => {
console.log(result);
})

View File

@ -29,7 +29,7 @@ createConnection(options).then(connection => {
if (!author) {
author = new Author();
author.name = "Umed";
return authorRepository.persist(author).then(savedAuthor => {
return authorRepository.save(author).then(savedAuthor => {
return authorRepository.findOneById(1);
});
}
@ -41,7 +41,7 @@ createConnection(options).then(connection => {
post = new Post();
post.title = "Hello post";
post.text = "This is post contents";
return postRepository.persist(post).then(savedPost => {
return postRepository.save(post).then(savedPost => {
return postRepository.findOneById(1);
});
}
@ -52,7 +52,7 @@ createConnection(options).then(connection => {
.then(results => {
const [author, post] = results;
author.posts = [post];
return authorRepository.persist(author);
return authorRepository.save(author);
})
.then(savedAuthor => {
console.log("Author has been saved: ", savedAuthor);

View File

@ -34,7 +34,7 @@ createConnection(options).then(connection => {
question.counters.metadata = "#question #question-counter";
questionRepository
.persist(question)
.save(question)
.then(savedQuestion => {
console.log("question has been saved: ", savedQuestion);
@ -47,7 +47,7 @@ createConnection(options).then(connection => {
loadedQuestion!.counters.commentCount = 7;
loadedQuestion!.counters.metadata = "#updated question";
return questionRepository.persist(loadedQuestion!);
return questionRepository.save(loadedQuestion!);
})
.then(updatedQuestion => {
console.log("question has been updated: ", updatedQuestion);

View File

@ -29,7 +29,7 @@ createConnection(options).then(async connection => {
post.text = "this is test post!";
console.log("saving the post: ");
await postRepository.persist(post);
await postRepository.save(post);
console.log("Post has been saved: ", post);
console.log("now loading the post: ");

View File

@ -38,7 +38,7 @@ createConnection(options).then(async connection => {
employee.salary = 200000;
console.log("saving the employee: ");
await employeeRepository.persist(employee);
await employeeRepository.save(employee);
console.log("employee has been saved: ", employee);
console.log("now loading the employee: ");
@ -55,7 +55,7 @@ createConnection(options).then(async connection => {
homesitter.numberOfKids = 5;
console.log("saving the homesitter: ");
await homesitterRepository.persist(homesitter);
await homesitterRepository.save(homesitter);
console.log("homesitter has been saved: ", homesitter);
console.log("now loading the homesitter: ");
@ -72,7 +72,7 @@ createConnection(options).then(async connection => {
student.faculty = "computer science";
console.log("saving the student: ");
await studentRepository.persist(student);
await studentRepository.save(student);
console.log("student has been saved: ", student);
console.log("now loading the student: ");

View File

@ -38,13 +38,13 @@ createConnection(options).then(async connection => {
employee.salary = 300000;
console.log("saving the employee: ");
await employeeRepository.persist(employee);
await employeeRepository.save(employee);
console.log("employee has been saved: ", employee);
console.log("updating the employee: ");
employee.firstName = "zuma";
employee.lastName += "a";
await employeeRepository.persist(employee);
await employeeRepository.save(employee);
console.log("employee has been updated: ", employee);
console.log("now loading the employee: ");
@ -52,7 +52,7 @@ createConnection(options).then(async connection => {
console.log("loaded employee: ", loadedEmployee);
loadedEmployee.firstName = "dima";
await employeeRepository.persist(loadedEmployee);
await employeeRepository.save(loadedEmployee);
const allEmployees = await employeeRepository.findAndCount();
console.log("all employees: ", allEmployees);

View File

@ -44,7 +44,7 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(Post);
postRepository
.persist(post)
.save(post)
.then(post => console.log("Post has been saved"))
.catch(error => console.log("Cannot save. Error: ", error));

View File

@ -42,7 +42,7 @@ createConnection(options).then(async connection => {
]);
console.log("saving posts");
await postRepository.persist([post1, post2, post3, post4]);
await postRepository.save([post1, post2, post3, post4]);
console.log("loading the post. pay attention on order: ");
const allPosts = await postRepository.find();

View File

@ -39,7 +39,7 @@ createConnection(options).then(async connection => {
let postRepository = connection.getRepository(Post);
await postRepository.persist(post);
await postRepository.save(post);
console.log("Post has been saved");
}).catch(error => console.log("Error: ", error));

View File

@ -33,7 +33,7 @@ createConnection(options).then(async connection => {
let postRepository = connection.getRepository(Post);
await postRepository.persist(post);
await postRepository.save(post);
console.log("Database schema was created and data has been inserted into the database.");
// close connection now

View File

@ -33,7 +33,7 @@ createConnection(options).then(async connection => {
await connection
.entityManager
.getCustomRepository(PostRepository)
.persist(post);
.save(post);
const loadedPost = await connection
.entityManager

View File

@ -13,7 +13,7 @@ export class AuthorRepository extends AbstractRepository<Author> {
author.firstName = firstName;
author.lastName = lastName;
return this.entityManager.persist(author);
return this.entityManager.save(author);
}
findMyAuthor() {

View File

@ -23,7 +23,7 @@ createConnection(options).then(async connection => {
post.title = "hello";
post.likesCount = 100;
await connection.getRepository(Post).persist(post);
await connection.getRepository(Post).save(post);
console.log("Post has been saved: ", post);
const loadedPost = await connection.getRepository(Post).findOne({

View File

@ -34,7 +34,7 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(Post);
postRepository
.persist(post)
.save(post)
.then(post => console.log("Post has been saved"))
.catch(error => console.log("Cannot save. Error: ", error));

View File

@ -40,7 +40,7 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(Post);
postRepository
.persist(post)
.save(post)
.then(post => {
console.log("Post has been saved");
return postRepository.findOneById(post.id);
@ -60,7 +60,7 @@ createConnection(options).then(connection => {
console.log("load finished. Now lets update entity");
loadedPost!.text = "post updated";
loadedPost!.author.name = "Bakha";
return postRepository.persist(loadedPost!);
return postRepository.save(loadedPost!);
})
.then(loadedPost => {
console.log("---------------------------");

View File

@ -54,14 +54,14 @@ createConnection(options).then(connection => {
let blogRepository = connection.getRepository(Blog);
postRepository
.persist(post)
.save(post)
.then(post => {
console.log("Post has been saved");
return postRepository.findOneById(post.id);
})
.then(loadedPost => {
console.log("post is loaded: ", loadedPost);
return blogRepository.persist(blog);
return blogRepository.save(blog);
})
.then(blog => {
console.log("Blog has been saved");
@ -69,7 +69,7 @@ createConnection(options).then(connection => {
})
.then(loadedBlog => {
console.log("blog is loaded: ", loadedBlog);
return blogRepository.persist(blog);
return blogRepository.save(blog);
})
.catch(error => console.log("Cannot save. Error: ", error.stack ? error.stack : error));

View File

@ -49,7 +49,7 @@ createConnection(options).then(connection => {
.skip(5)
.take(10);
Promise.all(posts.map(post => postRepository.persist(post)))
Promise.all(posts.map(post => postRepository.save(post)))
.then(savedPosts => {
console.log("Posts has been saved. Lets try to load some posts");
return qb.getMany();

View File

@ -27,7 +27,7 @@ createConnection(options).then(connection => {
mainCategory.manyCategories.push(category1);
mainCategory.oneManyCategory = category1;
categoryRepository.persist(mainCategory)
categoryRepository.save(mainCategory)
.then(savedCategory => {
console.log("saved category: ", savedCategory);
})

View File

@ -37,7 +37,7 @@ createConnection(options).then(connection => {
let postRepository = connection.getRepository(Post);
postRepository
.persist(post)
.save(post)
.then(post => {
console.log("Post has been saved");
console.log("---------------------------");
@ -59,7 +59,7 @@ createConnection(options).then(connection => {
console.log("---------------------------");
loadedPost!.text = "post updated";
loadedPost!.author.name = "Bakha";
return postRepository.persist(loadedPost!);
return postRepository.save(loadedPost!);
})
.then(loadedPost => {
console.log("update finished. Now lets remove entity");

View File

@ -8,7 +8,7 @@ import {ObjectLiteral} from "../common/ObjectLiteral";
import {FindOneOptions} from "../find-options/FindOneOptions";
import {DeepPartial} from "../common/DeepPartial";
import {RemoveOptions} from "../repository/RemoveOptions";
import {PersistOptions} from "../repository/PersistOptions";
import {SaveOptions} from "../repository/SaveOptions";
/**
* Entity manager supposed to work with any entity, automatically find its repository and call its methods,
@ -56,47 +56,47 @@ export class EntityManager extends BaseEntityManager {
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(entity: Entity, options?: PersistOptions): Promise<Entity>;
save<Entity>(entity: Entity, options?: SaveOptions): Promise<Entity>;
/**
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(targetOrEntity: Function, entity: Entity, options?: PersistOptions): Promise<Entity>;
save<Entity>(targetOrEntity: Function, entity: Entity, options?: SaveOptions): Promise<Entity>;
/**
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(targetOrEntity: string, entity: Entity, options?: PersistOptions): Promise<Entity>;
save<Entity>(targetOrEntity: string, entity: Entity, options?: SaveOptions): Promise<Entity>;
/**
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(entities: Entity[], options?: PersistOptions): Promise<Entity[]>;
save<Entity>(entities: Entity[], options?: SaveOptions): Promise<Entity[]>;
/**
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(targetOrEntity: Function, entities: Entity[], options?: PersistOptions): Promise<Entity[]>;
save<Entity>(targetOrEntity: Function, entities: Entity[], options?: SaveOptions): Promise<Entity[]>;
/**
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(targetOrEntity: string, entities: Entity[], options?: PersistOptions): Promise<Entity[]>;
save<Entity>(targetOrEntity: string, entities: Entity[], options?: SaveOptions): Promise<Entity[]>;
/**
* Persists (saves) a given entity in the database.
*/
persist<Entity>(targetOrEntity: (Entity|Entity[])|Function|string, maybeEntity?: Entity|Entity[], options?: PersistOptions): Promise<Entity|Entity[]> {
save<Entity>(targetOrEntity: (Entity|Entity[])|Function|string, maybeEntity?: Entity|Entity[], options?: SaveOptions): Promise<Entity|Entity[]> {
const target = arguments.length === 2 ? maybeEntity as Entity|Entity[] : targetOrEntity as Function|string;
const entity = arguments.length === 2 ? maybeEntity as Entity|Entity[] : targetOrEntity as Entity|Entity[];
return Promise.resolve().then(() => { // we MUST call "fake" resolve here to make sure all properties of lazily loaded properties are resolved.
if (typeof target === "string") {
return this.getRepository<Entity|Entity[]>(target).persist(entity, options);
return this.getRepository<Entity|Entity[]>(target).save(entity, options);
} else {
// todo: throw exception if constructor in target is not set
if (target instanceof Array) {
@ -104,29 +104,72 @@ export class EntityManager extends BaseEntityManager {
return Promise.resolve(target);
return Promise.all(target.map((t, i) => {
return this.getRepository<Entity>(t.constructor).persist((entity as Entity[])[i], options);
return this.getRepository<Entity>(t.constructor).save((entity as Entity[])[i], options);
}));
} else {
return this.getRepository<Entity>(target.constructor).persist(entity as Entity, options);
return this.getRepository<Entity>(target.constructor).save(entity as Entity, options);
}
}
});
}
/**
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(entity: Entity, options?: SaveOptions): Promise<Entity>;
/**
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(targetOrEntity: Function, entity: Entity, options?: SaveOptions): Promise<Entity>;
/**
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(targetOrEntity: string, entity: Entity, options?: SaveOptions): Promise<Entity>;
/**
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(entities: Entity[], options?: SaveOptions): Promise<Entity[]>;
/**
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(targetOrEntity: Function, entities: Entity[], options?: SaveOptions): Promise<Entity[]>;
/**
* Persists (saves) all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
persist<Entity>(targetOrEntity: string, entities: Entity[], options?: SaveOptions): Promise<Entity[]>;
/**
* Persists (saves) a given entity in the database.
*/
persist<Entity>(targetOrEntity: (Entity|Entity[])|Function|string, maybeEntity?: Entity|Entity[], options?: SaveOptions): Promise<Entity|Entity[]> {
return this.save(targetOrEntity as any, maybeEntity as any, options);
}
/**
* Updates entity partially. Entity can be found by a given conditions.
*/
async update<Entity>(target: Function|string, conditions: Partial<Entity>, partialEntity: DeepPartial<Entity>, options?: PersistOptions): Promise<void>;
async update<Entity>(target: Function|string, conditions: Partial<Entity>, partialEntity: DeepPartial<Entity>, options?: SaveOptions): Promise<void>;
/**
* Updates entity partially. Entity can be found by a given find options.
*/
async update<Entity>(target: Function|string, findOptions: FindOneOptions<Entity>, partialEntity: DeepPartial<Entity>, options?: PersistOptions): Promise<void>;
async update<Entity>(target: Function|string, findOptions: FindOneOptions<Entity>, partialEntity: DeepPartial<Entity>, options?: SaveOptions): Promise<void>;
/**
* Updates entity partially. Entity can be found by a given conditions.
*/
async update<Entity>(target: Function|string, conditionsOrFindOptions: Partial<Entity>|FindOneOptions<Entity>, partialEntity: DeepPartial<Entity>, options?: PersistOptions): Promise<void> {
async update<Entity>(target: Function|string, conditionsOrFindOptions: Partial<Entity>|FindOneOptions<Entity>, partialEntity: DeepPartial<Entity>, options?: SaveOptions): Promise<void> {
return this.getRepository<Entity|Entity[]>(target as any)
.update(conditionsOrFindOptions as any, partialEntity, options);
}
@ -134,7 +177,7 @@ export class EntityManager extends BaseEntityManager {
/**
* Updates entity partially. Entity will be found by a given id.
*/
async updateById<Entity>(target: Function|string, id: any, partialEntity: DeepPartial<Entity>, options?: PersistOptions): Promise<void> {
async updateById<Entity>(target: Function|string, id: any, partialEntity: DeepPartial<Entity>, options?: SaveOptions): Promise<void> {
return this.getRepository<Entity|Entity[]>(target as any)
.updateById(id, partialEntity, options);
}

View File

@ -2,7 +2,7 @@ import {Repository} from "./Repository";
import {getConnection} from "../index";
import {QueryBuilder} from "../query-builder/QueryBuilder";
import {DeepPartial} from "../common/DeepPartial";
import {PersistOptions} from "./PersistOptions";
import {SaveOptions} from "./SaveOptions";
import {FindOneOptions} from "../find-options/FindOneOptions";
import {RemoveOptions} from "./RemoveOptions";
import {FindManyOptions} from "../find-options/FindManyOptions";
@ -39,7 +39,7 @@ export class EntityModel {
* If entity does not exist in the database then inserts, otherwise updates.
*/
save(): Promise<this> {
return (this.constructor as any).getRepository().persist(this);
return (this.constructor as any).getRepository().save(this);
}
/**
@ -130,42 +130,42 @@ export class EntityModel {
* Saves all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
static save<T extends EntityModel = any>(entities: T[], options?: PersistOptions): Promise<T[]>;
static save<T extends EntityModel = any>(entities: T[], options?: SaveOptions): Promise<T[]>;
/**
* Saves a given entity in the database.
* If entity does not exist in the database then inserts, otherwise updates.
*/
static save<T extends EntityModel = any>(entity: T, options?: PersistOptions): Promise<T>;
static save<T extends EntityModel = any>(entity: T, options?: SaveOptions): Promise<T>;
/**
* Saves one or many given entities.
*/
static save<T extends EntityModel = any>(entityOrEntities: T|T[], options?: PersistOptions): Promise<T|T[]> {
return this.getRepository<T>().persist(entityOrEntities as any, options);
static save<T extends EntityModel = any>(entityOrEntities: T|T[], options?: SaveOptions): Promise<T|T[]> {
return this.getRepository<T>().save(entityOrEntities as any, options);
}
/**
* Updates entity partially. Entity can be found by a given conditions.
*/
static update<T extends EntityModel = any>(conditions: Partial<T>, partialEntity: DeepPartial<T>, options?: PersistOptions): Promise<void>;
static update<T extends EntityModel = any>(conditions: Partial<T>, partialEntity: DeepPartial<T>, options?: SaveOptions): Promise<void>;
/**
* Updates entity partially. Entity can be found by a given find options.
*/
static update<T extends EntityModel = any>(findOptions: FindOneOptions<T>, partialEntity: DeepPartial<T>, options?: PersistOptions): Promise<void>;
static update<T extends EntityModel = any>(findOptions: FindOneOptions<T>, partialEntity: DeepPartial<T>, options?: SaveOptions): Promise<void>;
/**
* Updates entity partially. Entity can be found by a given conditions.
*/
static update<T extends EntityModel = any>(conditionsOrFindOptions: Partial<T>|FindOneOptions<T>, partialEntity: DeepPartial<T>, options?: PersistOptions): Promise<void> {
static update<T extends EntityModel = any>(conditionsOrFindOptions: Partial<T>|FindOneOptions<T>, partialEntity: DeepPartial<T>, options?: SaveOptions): Promise<void> {
return this.getRepository<T>().update(conditionsOrFindOptions as any, partialEntity, options);
}
/**
* Updates entity partially. Entity will be found by a given id.
*/
static updateById<T extends EntityModel = any>(id: any, partialEntity: DeepPartial<T>, options?: PersistOptions): Promise<void> {
static updateById<T extends EntityModel = any>(id: any, partialEntity: DeepPartial<T>, options?: SaveOptions): Promise<void> {
return this.getRepository<T>().updateById(id, partialEntity, options);
}

View File

@ -11,7 +11,7 @@ import {SubjectOperationExecutor} from "../persistence/SubjectOperationExecutor"
import {SubjectBuilder} from "../persistence/SubjectBuilder";
import {FindOneOptions} from "../find-options/FindOneOptions";
import {DeepPartial} from "../common/DeepPartial";
import {PersistOptions} from "./PersistOptions";
import {SaveOptions} from "./SaveOptions";
import {RemoveOptions} from "./RemoveOptions";
/**
@ -139,18 +139,18 @@ export class Repository<Entity extends ObjectLiteral> {
* Saves all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
async persist(entities: Entity[], options?: PersistOptions): Promise<Entity[]>;
async save(entities: Entity[], options?: SaveOptions): Promise<Entity[]>;
/**
* Saves a given entity in the database.
* If entity does not exist in the database then inserts, otherwise updates.
*/
async persist(entity: Entity, options?: PersistOptions): Promise<Entity>;
async save(entity: Entity, options?: SaveOptions): Promise<Entity>;
/**
* Saves one or many given entities.
*/
async persist(entityOrEntities: Entity|Entity[], options?: PersistOptions): Promise<Entity|Entity[]> {
async save(entityOrEntities: Entity|Entity[], options?: SaveOptions): Promise<Entity|Entity[]> {
// if for some reason non empty entity was passed then return it back without having to do anything
if (!entityOrEntities)
@ -158,7 +158,7 @@ export class Repository<Entity extends ObjectLiteral> {
// if multiple entities given then go throw all of them and save them
if (entityOrEntities instanceof Array)
return Promise.all(entityOrEntities.map(entity => this.persist(entity)));
return Promise.all(entityOrEntities.map(entity => this.save(entity)));
const queryRunnerProvider = this.queryRunnerProvider || new QueryRunnerProvider(this.connection.driver, true);
try {
@ -179,38 +179,57 @@ export class Repository<Entity extends ObjectLiteral> {
}
}
/**
* Saves all given entities in the database.
* If entities do not exist in the database then inserts, otherwise updates.
*/
async persist(entities: Entity[], options?: SaveOptions): Promise<Entity[]>;
/**
* Saves a given entity in the database.
* If entity does not exist in the database then inserts, otherwise updates.
*/
async persist(entity: Entity, options?: SaveOptions): Promise<Entity>;
/**
* Saves one or many given entities.
*/
async persist(entityOrEntities: Entity|Entity[], options?: SaveOptions): Promise<Entity|Entity[]> {
return this.save(entityOrEntities as any, options);
}
/**
* Updates entity partially. Entity can be found by a given conditions.
*/
async update(conditions: Partial<Entity>, partialEntity: DeepPartial<Entity>, options?: PersistOptions): Promise<void>;
async update(conditions: Partial<Entity>, partialEntity: DeepPartial<Entity>, options?: SaveOptions): Promise<void>;
/**
* Updates entity partially. Entity can be found by a given find options.
*/
async update(findOptions: FindOneOptions<Entity>, partialEntity: DeepPartial<Entity>, options?: PersistOptions): Promise<void>;
async update(findOptions: FindOneOptions<Entity>, partialEntity: DeepPartial<Entity>, options?: SaveOptions): Promise<void>;
/**
* Updates entity partially. Entity can be found by a given conditions.
*/
async update(conditionsOrFindOptions: Partial<Entity>|FindOneOptions<Entity>, partialEntity: DeepPartial<Entity>, options?: PersistOptions): Promise<void> {
async update(conditionsOrFindOptions: Partial<Entity>|FindOneOptions<Entity>, partialEntity: DeepPartial<Entity>, options?: SaveOptions): Promise<void> {
const entity = await this.findOne(conditionsOrFindOptions as any); // this is temporary, in the future can be refactored to perform better
if (!entity)
throw new Error(`Cannot find entity to update by a given criteria`);
Object.assign(entity, partialEntity);
await this.persist(entity, options);
await this.save(entity, options);
}
/**
* Updates entity partially. Entity will be found by a given id.
*/
async updateById(id: any, partialEntity: DeepPartial<Entity>, options?: PersistOptions): Promise<void> {
async updateById(id: any, partialEntity: DeepPartial<Entity>, options?: SaveOptions): Promise<void> {
const entity = await this.findOneById(id as any); // this is temporary, in the future can be refactored to perform better
if (!entity)
throw new Error(`Cannot find entity to update by a id`);
Object.assign(entity, partialEntity);
await this.persist(entity, options);
await this.save(entity, options);
}
/**

View File

@ -1,7 +1,7 @@
/**
* Special options passed to Repository#persist method.
*/
export interface PersistOptions {
export interface SaveOptions {
/**
* Additional data to be passed with persist method.

View File

@ -32,7 +32,7 @@ describe.skip("benchmark > bulk-save", () => {
posts.push(post);
}
await connection.manager.persist(posts);
await connection.manager.save(posts);
})));

View File

@ -25,7 +25,7 @@ describe.skip("cascades > should insert by cascades from both sides (#57)", () =
const post1 = new Post();
post1.title = "Hello Post #1";
post1.details = details;
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
// now check
const posts = await connection.entityManager.find(Post, {

View File

@ -123,7 +123,7 @@ describe("ConnectionManager", () => {
// create connection, save post and close connection
let connection = await connectionManager.createAndConnect(options);
const post = new Post(1, "Hello post");
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
await connection.close();
// recreate connection and find previously saved post
@ -146,7 +146,7 @@ describe("ConnectionManager", () => {
// create connection, save post and close connection
let connection = await connectionManager.createAndConnect(options);
const post = new Post(1, "Hello post");
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
await connection.close();
// recreate connection and find previously saved post

View File

@ -200,7 +200,7 @@ describe("Connection", () => {
const postRepository = connection.getRepository(Post);
const post = new Post();
post.title = "new post";
await postRepository.persist(post);
await postRepository.save(post);
const loadedPost = await postRepository.findOneById(post.id);
expect(loadedPost).to.be.eql(post);
await connection.syncSchema(true);
@ -460,7 +460,7 @@ describe("Connection", () => {
comment.context = `To ${schemaName}`;
const commentRepo = connection.getRepository(CommentV1);
await commentRepo.persist(comment);
await commentRepo.save(comment);
const query = await connection.driver.createQueryRunner();
const rows = await query.query(`select * from "${schemaName}"."comment" where id = $1`, [comment.id]);

View File

@ -26,7 +26,7 @@ describe("decorators > embedded", () => {
post.counters.favorites = 2;
post.counters.likes = 1;
await postRepository.persist(post);
await postRepository.save(post);
// now load it
const loadedPost = (await postRepository.findOneById(1))!;
@ -52,7 +52,7 @@ describe("decorators > embedded", () => {
post1.counters.favorites = 2;
post1.counters.likes = 1;
await postRepository.persist(post1);
await postRepository.save(post1);
const post2 = new Post();
post2.title = "Hello post #2";
@ -62,7 +62,7 @@ describe("decorators > embedded", () => {
post2.counters.favorites = 1;
post2.counters.likes = 2;
await postRepository.persist(post2);
await postRepository.save(post2);
// now load it
const sortedPosts1 = await postRepository

View File

@ -24,33 +24,33 @@ describe("query builder > relation-count-decorator-many-to-many > many-to-many",
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "Germany";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const category4 = new Category();
category4.name = "airplanes";
await connection.entityManager.persist(category4);
await connection.entityManager.save(category4);
const category5 = new Category();
category5.name = "Boeing";
await connection.entityManager.persist(category5);
await connection.entityManager.save(category5);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2, category3];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.categories = [category4, category5];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
let loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -71,41 +71,41 @@ describe("query builder > relation-count-decorator-many-to-many > many-to-many",
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "Germany";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const category4 = new Category();
category4.name = "airplanes";
await connection.entityManager.persist(category4);
await connection.entityManager.save(category4);
const category5 = new Category();
category5.name = "Boeing";
await connection.entityManager.persist(category5);
await connection.entityManager.save(category5);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2, category3];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.categories = [category4, category5];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const post3 = new Post();
post3.title = "about Audi";
await connection.entityManager.persist(post3);
await connection.entityManager.save(post3);
const post4 = new Post();
post4.title = "about Airbus";
await connection.entityManager.persist(post4);
await connection.entityManager.save(post4);
let loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -122,48 +122,48 @@ describe("query builder > relation-count-decorator-many-to-many > many-to-many",
const image1 = new Image();
image1.isRemoved = true;
image1.name = "image #1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image #2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const image3 = new Image();
image3.name = "image #3";
await connection.entityManager.persist(image3);
await connection.entityManager.save(image3);
const category1 = new Category();
category1.name = "cars";
category1.isRemoved = true;
category1.images = [image1, image2];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "Germany";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const category4 = new Category();
category4.name = "airplanes";
category4.images = [image3];
await connection.entityManager.persist(category4);
await connection.entityManager.save(category4);
const category5 = new Category();
category5.name = "Boeing";
await connection.entityManager.persist(category5);
await connection.entityManager.save(category5);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2, category3];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.categories = [category4, category5];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
let loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -197,25 +197,25 @@ describe("query builder > relation-count-decorator-many-to-many > many-to-many",
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "Germany";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2, category3];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.categories = [category1, category3];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
let loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -248,36 +248,36 @@ describe("query builder > relation-count-decorator-many-to-many > many-to-many",
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.categories = [category1];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const post3 = new Post();
post3.title = "about Mercedes";
post3.categories = [category1];
await connection.entityManager.persist(post3);
await connection.entityManager.save(post3);
const post4 = new Post();
post4.title = "about Boeing";
post4.categories = [category2];
await connection.entityManager.persist(post4);
await connection.entityManager.save(post4);
const post5 = new Post();
post5.title = "about Airbus";
post5.categories = [category2];
await connection.entityManager.persist(post5);
await connection.entityManager.save(post5);
let loadedCategories = await connection.entityManager
.createQueryBuilder(Category, "category")
@ -298,44 +298,44 @@ describe("query builder > relation-count-decorator-many-to-many > many-to-many",
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "BMW";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const category4 = new Category();
category4.name = "Boeing";
await connection.entityManager.persist(category4);
await connection.entityManager.save(category4);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.categories = [category1];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const post3 = new Post();
post3.title = "about Mercedes";
post3.categories = [category1];
await connection.entityManager.persist(post3);
await connection.entityManager.save(post3);
const post4 = new Post();
post4.title = "about Boeing";
post4.categories = [category2];
await connection.entityManager.persist(post4);
await connection.entityManager.save(post4);
const post5 = new Post();
post5.title = "about Airbus";
post5.categories = [category2];
await connection.entityManager.persist(post5);
await connection.entityManager.save(post5);
let loadedCategories = await connection.entityManager
.createQueryBuilder(Category, "category")
@ -351,38 +351,38 @@ describe("query builder > relation-count-decorator-many-to-many > many-to-many",
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const post1 = new Post();
post1.title = "about BMW";
post1.isRemoved = true;
post1.categories = [category1];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.isRemoved = true;
post2.categories = [category1];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const post3 = new Post();
post3.title = "about Mercedes";
post3.categories = [category1];
await connection.entityManager.persist(post3);
await connection.entityManager.save(post3);
const post4 = new Post();
post4.title = "about Boeing";
post4.categories = [category2];
await connection.entityManager.persist(post4);
await connection.entityManager.save(post4);
const post5 = new Post();
post5.title = "about Airbus";
post5.categories = [category2];
await connection.entityManager.persist(post5);
await connection.entityManager.save(post5);
let loadedCategories = await connection.entityManager
.createQueryBuilder(Category, "category")

View File

@ -25,40 +25,40 @@ describe("decorators > relation-count-decorator > one-to-many", () => {
const image1 = new Image();
image1.isRemoved = true;
image1.name = "image #1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image #2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const image3 = new Image();
image3.name = "image #3";
await connection.entityManager.persist(image3);
await connection.entityManager.save(image3);
const category1 = new Category();
category1.name = "cars";
category1.isRemoved = true;
category1.images = [image1, image2];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "airplanes";
category3.images = [image3];
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.categories = [category3];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
let loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")

View File

@ -24,25 +24,25 @@ describe("decorators > relation-id-decorator > many-to-many", () => {
const category1 = new Category();
category1.name = "kids";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "future";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.name = "cars";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const post = new Post();
post.title = "about kids";
post.categories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
const post2 = new Post();
post2.title = "about BMW";
post2.categories = [category3];
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -69,27 +69,27 @@ describe("decorators > relation-id-decorator > many-to-many", () => {
const category1 = new Category();
category1.name = "kids";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "future";
category2.isRemoved = true;
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.name = "cars";
category3.isRemoved = true;
await connection.manager.persist(category3);
await connection.manager.save(category3);
const post = new Post();
post.title = "about kids";
post.categories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
const post2 = new Post();
post2.title = "about BMW";
post2.categories = [category3];
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -116,16 +116,16 @@ describe("decorators > relation-id-decorator > many-to-many", () => {
const category1 = new Category();
category1.name = "kids";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "future";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post = new Post();
post.title = "about kids";
post.subcategories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
let loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -142,17 +142,17 @@ describe("decorators > relation-id-decorator > many-to-many", () => {
const category1 = new Category();
category1.name = "kids";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "future";
category2.isRemoved = true;
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post = new Post();
post.title = "about kids";
post.subcategories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
let loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -169,17 +169,17 @@ describe("decorators > relation-id-decorator > many-to-many", () => {
const category = new Category();
category.name = "cars";
await connection.manager.persist(category);
await connection.manager.save(category);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.categories = [category];
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedCategory = await connection.manager
.createQueryBuilder(Category, "category")
@ -196,18 +196,18 @@ describe("decorators > relation-id-decorator > many-to-many", () => {
const category = new Category();
category.name = "cars";
await connection.manager.persist(category);
await connection.manager.save(category);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.isRemoved = true;
post2.categories = [category];
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedCategory = await connection.manager
.createQueryBuilder(Category, "category")
@ -224,39 +224,39 @@ describe("decorators > relation-id-decorator > many-to-many", () => {
const image1 = new Image();
image1.name = "photo1";
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "photo2";
await connection.manager.persist(image2);
await connection.manager.save(image2);
const image3 = new Image();
image3.name = "photo2";
await connection.manager.persist(image3);
await connection.manager.save(image3);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.name = "Audi";
category3.images = [image3];
await connection.manager.persist(category3);
await connection.manager.save(category3);
const post = new Post();
post.title = "about BMW";
post.categories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
const post2 = new Post();
post2.title = "about Audi";
post2.categories = [category3];
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -304,21 +304,21 @@ describe("decorators > relation-id-decorator > many-to-many", () => {
const image1 = new Image();
image1.name = "photo1";
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "photo2";
await connection.manager.persist(image2);
await connection.manager.save(image2);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const post = new Post();
post.title = "about BMW";
post.categories = [category1];
await connection.manager.persist(post);
await connection.manager.save(post);
let loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -336,43 +336,43 @@ describe("decorators > relation-id-decorator > many-to-many", () => {
const image1 = new Image();
image1.name = "photo1";
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "photo2";
image2.isRemoved = true;
await connection.manager.persist(image2);
await connection.manager.save(image2);
const image3 = new Image();
image3.name = "photo2";
image3.isRemoved = true;
await connection.manager.persist(image3);
await connection.manager.save(image3);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "BMW";
category2.isRemoved = true;
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.name = "BMW";
category3.isRemoved = true;
category3.images = [image3];
await connection.manager.persist(category3);
await connection.manager.save(category3);
const post = new Post();
post.title = "about BMW";
post.categories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
const post2 = new Post();
post2.title = "about BMW";
post2.categories = [category3];
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -23,31 +23,31 @@ describe("decorators > relation-id-decorator > many-to-one", () => {
const category1 = new Category();
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const categoryByName1 = new Category();
categoryByName1.name = "BMW";
await connection.manager.persist(categoryByName1);
await connection.manager.save(categoryByName1);
const categoryByName2 = new Category();
categoryByName2.name = "Boeing";
await connection.manager.persist(categoryByName2);
await connection.manager.save(categoryByName2);
const post1 = new Post();
post1.title = "about BWM";
post1.category = category1;
post1.categoryByName = categoryByName1;
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.category = category2;
post2.categoryByName = categoryByName2;
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -23,26 +23,26 @@ describe("decorators > relation-id > one-to-many", () => {
const category = new Category();
category.name = "cars";
await connection.manager.persist(category);
await connection.manager.save(category);
const category2 = new Category();
category2.name = "airplanes";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post1 = new Post();
post1.title = "about BMW";
post1.category = category;
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.category = category;
await connection.manager.persist(post2);
await connection.manager.save(post2);
const post3 = new Post();
post3.title = "about Boeing";
post3.category = category2;
await connection.manager.persist(post3);
await connection.manager.save(post3);
let loadedCategories = await connection.manager
.createQueryBuilder(Category, "category")
@ -68,28 +68,28 @@ describe("decorators > relation-id > one-to-many", () => {
const category = new Category();
category.name = "cars";
await connection.manager.persist(category);
await connection.manager.save(category);
const category2 = new Category();
category2.name = "airplanes";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post1 = new Post();
post1.title = "about BMW";
post1.category = category;
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.category = category;
post2.isRemoved = true;
await connection.manager.persist(post2);
await connection.manager.save(post2);
const post3 = new Post();
post3.title = "about Boeing";
post3.category = category2;
post3.isRemoved = true;
await connection.manager.persist(post3);
await connection.manager.save(post3);
let loadedCategories = await connection.manager
.createQueryBuilder(Category, "category")

View File

@ -23,31 +23,31 @@ describe("decorators > relation-id > one-to-one", () => {
const category1 = new Category();
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const categoryByName1 = new Category();
categoryByName1.name = "BMW";
await connection.manager.persist(categoryByName1);
await connection.manager.save(categoryByName1);
const categoryByName2 = new Category();
categoryByName2.name = "Boeing";
await connection.manager.persist(categoryByName2);
await connection.manager.save(categoryByName2);
const post1 = new Post();
post1.title = "about BMW";
post1.category = category1;
post1.categoryByName = categoryByName1;
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.category = category2;
post2.categoryByName = categoryByName2;
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -78,21 +78,21 @@ describe("decorators > relation-id > one-to-one", () => {
const category1 = new Category();
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post1 = new Post();
post1.title = "about BMW";
post1.category2 = category1;
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.category2 = category2;
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedCategories = await connection.manager
.createQueryBuilder(Category, "category")

View File

@ -27,7 +27,7 @@ describe("embedded > basic functionality", () => {
post.counters.favorites = 2;
post.counters.likes = 1;
await postRepository.persist(post);
await postRepository.save(post);
// now load it
const loadedPost = (await postRepository.findOneById(1))!;
@ -43,7 +43,7 @@ describe("embedded > basic functionality", () => {
// now update the post
loadedPost.counters.favorites += 1;
await postRepository.persist(loadedPost);
await postRepository.save(loadedPost);
// now check it
const loadedPost2 = (await postRepository.findOneById(1))!;

View File

@ -24,15 +24,15 @@ describe("embedded > embedded-many-to-many-case1", () => {
const user1 = new User();
user1.name = "Alice";
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.name = "Clara";
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const postRepository = connection.getRepository(Post);
@ -47,7 +47,7 @@ describe("embedded > embedded-many-to-many-case1", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await postRepository.persist(post1);
await postRepository.save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -60,7 +60,7 @@ describe("embedded > embedded-many-to-many-case1", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await postRepository.persist(post2);
await postRepository.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -155,7 +155,7 @@ describe("embedded > embedded-many-to-many-case1", () => {
loadedPost!.counters.favorites += 1;
loadedPost!.counters.subcounters.watches += 1;
loadedPost!.counters.likedUsers = [user1];
await postRepository.persist(loadedPost!);
await postRepository.save(loadedPost!);
const loadedPost2 = await connection.manager
.createQueryBuilder(Post, "post")
@ -209,7 +209,7 @@ describe("embedded > embedded-many-to-many-case1", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -221,22 +221,22 @@ describe("embedded > embedded-many-to-many-case1", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const user1 = new User();
user1.name = "Alice";
user1.likedPosts = [post1, post2];
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
user2.likedPosts = [post1];
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.name = "Clara";
user3.likedPosts = [post2];
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const loadedUsers = await connection.manager
.createQueryBuilder(User, "user")
@ -372,7 +372,7 @@ describe("embedded > embedded-many-to-many-case1", () => {
loadedUser!.name = "Anna";
loadedUser!.likedPosts = [post1];
await connection.getRepository(User).persist(loadedUser!);
await connection.getRepository(User).save(loadedUser!);
const loadedUser2 = await connection.manager
.createQueryBuilder(User, "user")

View File

@ -32,7 +32,7 @@ describe("embedded > embedded-many-to-many-case2", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -44,22 +44,22 @@ describe("embedded > embedded-many-to-many-case2", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const user1 = new User();
user1.name = "Alice";
user1.likedPosts = [post1, post2];
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
user2.likedPosts = [post1];
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.name = "Clara";
user3.likedPosts = [post2];
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const loadedUsers = await connection.manager
.createQueryBuilder(User, "user")
@ -195,7 +195,7 @@ describe("embedded > embedded-many-to-many-case2", () => {
loadedUser!.name = "Anna";
loadedUser!.likedPosts = [post1];
await connection.getRepository(User).persist(loadedUser!);
await connection.getRepository(User).save(loadedUser!);
const loadedUser2 = await connection.manager
.createQueryBuilder(User, "user")
@ -242,15 +242,15 @@ describe("embedded > embedded-many-to-many-case2", () => {
const user1 = new User();
user1.name = "Alice";
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.name = "Clara";
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const postRepository = connection.getRepository(Post);
@ -265,7 +265,7 @@ describe("embedded > embedded-many-to-many-case2", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await postRepository.persist(post1);
await postRepository.save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -278,7 +278,7 @@ describe("embedded > embedded-many-to-many-case2", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await postRepository.persist(post2);
await postRepository.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -373,7 +373,7 @@ describe("embedded > embedded-many-to-many-case2", () => {
loadedPost!.counters.favorites += 1;
loadedPost!.counters.subcounters.watches += 1;
loadedPost!.counters.likedUsers = [user1];
await postRepository.persist(loadedPost!);
await postRepository.save(loadedPost!);
const loadedPost2 = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -24,15 +24,15 @@ describe("embedded > embedded-many-to-many-case3", () => {
const user1 = new User();
user1.name = "Alice";
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.name = "Clara";
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const post1 = new Post();
post1.id = 1;
@ -46,7 +46,7 @@ describe("embedded > embedded-many-to-many-case3", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.id = 2;
@ -60,7 +60,7 @@ describe("embedded > embedded-many-to-many-case3", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -155,7 +155,7 @@ describe("embedded > embedded-many-to-many-case3", () => {
loadedPost!.counters.favorites += 1;
loadedPost!.counters.subcounters.watches += 1;
loadedPost!.counters.likedUsers = [user1];
await connection.getRepository(Post).persist(loadedPost!);
await connection.getRepository(Post).save(loadedPost!);
loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -210,7 +210,7 @@ describe("embedded > embedded-many-to-many-case3", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.id = 2;
@ -223,22 +223,22 @@ describe("embedded > embedded-many-to-many-case3", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const user1 = new User();
user1.name = "Alice";
user1.likedPosts = [post1, post2];
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
user2.likedPosts = [post1];
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.name = "Clara";
user3.likedPosts = [post2];
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
let loadedUsers = await connection.manager
.createQueryBuilder(User, "user")
@ -374,7 +374,7 @@ describe("embedded > embedded-many-to-many-case3", () => {
loadedUser!.name = "Anna";
loadedUser!.likedPosts = [post1];
await connection.getRepository(User).persist(loadedUser!);
await connection.getRepository(User).save(loadedUser!);
loadedUser = await connection.manager
.createQueryBuilder(User, "user")

View File

@ -26,19 +26,19 @@ describe("embedded > embedded-many-to-many-case4", () => {
user1.id = 1;
user1.personId = 1;
user1.name = "Alice";
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.id = 2;
user2.personId = 2;
user2.name = "Bob";
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.id = 3;
user3.personId = 3;
user3.name = "Clara";
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const post1 = new Post();
post1.title = "About cars";
@ -51,7 +51,7 @@ describe("embedded > embedded-many-to-many-case4", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -64,7 +64,7 @@ describe("embedded > embedded-many-to-many-case4", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -164,7 +164,7 @@ describe("embedded > embedded-many-to-many-case4", () => {
loadedPost!.counters.favorites += 1;
loadedPost!.counters.subcounters.watches += 1;
loadedPost!.counters.likedUsers = [user1];
await connection.getRepository(Post).persist(loadedPost!);
await connection.getRepository(Post).save(loadedPost!);
loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -219,7 +219,7 @@ describe("embedded > embedded-many-to-many-case4", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -231,28 +231,28 @@ describe("embedded > embedded-many-to-many-case4", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const user1 = new User();
user1.id = 1;
user1.personId = 1;
user1.name = "Alice";
user1.likedPosts = [post1, post2];
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.id = 2;
user2.personId = 2;
user2.name = "Bob";
user2.likedPosts = [post1];
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.id = 3;
user3.personId = 3;
user3.name = "Clara";
user3.likedPosts = [post2];
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
let loadedUsers = await connection.manager
.createQueryBuilder(User, "user")
@ -392,7 +392,7 @@ describe("embedded > embedded-many-to-many-case4", () => {
loadedUser!.name = "Anna";
loadedUser!.likedPosts = [post1];
await connection.getRepository(User).persist(loadedUser!);
await connection.getRepository(User).save(loadedUser!);
loadedUser = await connection.manager
.createQueryBuilder(User, "user")

View File

@ -26,19 +26,19 @@ describe("embedded > embedded-many-to-many-case5", () => {
user1.id = 1;
user1.personId = 1;
user1.name = "Alice";
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.id = 2;
user2.personId = 2;
user2.name = "Bob";
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.id = 3;
user3.personId = 3;
user3.name = "Clara";
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const post1 = new Post();
post1.id = 1;
@ -52,7 +52,7 @@ describe("embedded > embedded-many-to-many-case5", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.id = 2;
@ -66,7 +66,7 @@ describe("embedded > embedded-many-to-many-case5", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -166,7 +166,7 @@ describe("embedded > embedded-many-to-many-case5", () => {
loadedPost!.counters.favorites += 1;
loadedPost!.counters.subcounters.watches += 1;
loadedPost!.counters.likedUsers = [user1];
await connection.getRepository(Post).persist(loadedPost!);
await connection.getRepository(Post).save(loadedPost!);
loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -222,7 +222,7 @@ describe("embedded > embedded-many-to-many-case5", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.id = 2;
@ -235,28 +235,28 @@ describe("embedded > embedded-many-to-many-case5", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const user1 = new User();
user1.id = 1;
user1.personId = 1;
user1.name = "Alice";
user1.likedPosts = [post1, post2];
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.id = 2;
user2.personId = 2;
user2.name = "Bob";
user2.likedPosts = [post1];
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.id = 3;
user3.personId = 3;
user3.name = "Clara";
user3.likedPosts = [post2];
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
let loadedUsers = await connection.manager
.createQueryBuilder(User, "user")
@ -396,7 +396,7 @@ describe("embedded > embedded-many-to-many-case5", () => {
loadedUser!.name = "Anna";
loadedUser!.likedPosts = [post1];
await connection.getRepository(User).persist(loadedUser!);
await connection.getRepository(User).save(loadedUser!);
loadedUser = await connection.manager
.createQueryBuilder(User, "user")

View File

@ -24,15 +24,15 @@ describe("embedded > embedded-many-to-one-case1", () => {
const user1 = new User();
user1.name = "Alice";
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.name = "Clara";
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const postRepository = connection.getRepository(Post);
@ -47,7 +47,7 @@ describe("embedded > embedded-many-to-one-case1", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await postRepository.persist(post1);
await postRepository.save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -60,7 +60,7 @@ describe("embedded > embedded-many-to-one-case1", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await postRepository.persist(post2);
await postRepository.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -130,7 +130,7 @@ describe("embedded > embedded-many-to-one-case1", () => {
loadedPost!.counters.favorites += 1;
loadedPost!.counters.subcounters.watches += 1;
loadedPost!.counters.likedUser = user3;
await postRepository.persist(loadedPost!);
await postRepository.save(loadedPost!);
loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -178,7 +178,7 @@ describe("embedded > embedded-many-to-one-case1", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -190,7 +190,7 @@ describe("embedded > embedded-many-to-one-case1", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const post3 = new Post();
post3.title = "About horses";
@ -202,17 +202,17 @@ describe("embedded > embedded-many-to-one-case1", () => {
post3.counters.subcounters = new Subcounters();
post3.counters.subcounters.version = 1;
post3.counters.subcounters.watches = 30;
await connection.getRepository(Post).persist(post3);
await connection.getRepository(Post).save(post3);
const user1 = new User();
user1.name = "Alice";
user1.likedPosts = [post1, post2];
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
user2.likedPosts = [post3];
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
let loadedUsers = await connection.manager
.createQueryBuilder(User, "user")
@ -325,7 +325,7 @@ describe("embedded > embedded-many-to-one-case1", () => {
loadedUser!.name = "Anna";
loadedUser!.likedPosts = [post1];
await connection.getRepository(User).persist(loadedUser!);
await connection.getRepository(User).save(loadedUser!);
loadedUser = await connection.manager
.createQueryBuilder(User, "user")

View File

@ -32,7 +32,7 @@ describe("embedded > embedded-many-to-one-case2", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -44,7 +44,7 @@ describe("embedded > embedded-many-to-one-case2", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const post3 = new Post();
post3.title = "About horses";
@ -56,17 +56,17 @@ describe("embedded > embedded-many-to-one-case2", () => {
post3.counters.subcounters = new Subcounters();
post3.counters.subcounters.version = 1;
post3.counters.subcounters.watches = 30;
await connection.getRepository(Post).persist(post3);
await connection.getRepository(Post).save(post3);
const user1 = new User();
user1.name = "Alice";
user1.likedPost = post1;
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
user2.likedPost = post2;
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
let loadedUsers = await connection.manager
.createQueryBuilder(User, "user")
@ -144,7 +144,7 @@ describe("embedded > embedded-many-to-one-case2", () => {
loadedUser!.name = "Anna";
loadedUser!.likedPost = post3;
await connection.getRepository(User).persist(loadedUser!);
await connection.getRepository(User).save(loadedUser!);
loadedUser = await connection.manager
.createQueryBuilder(User, "user")
@ -187,15 +187,15 @@ describe("embedded > embedded-many-to-one-case2", () => {
const user1 = new User();
user1.name = "Alice";
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.name = "Clara";
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const post1 = new Post();
post1.title = "About cars";
@ -208,7 +208,7 @@ describe("embedded > embedded-many-to-one-case2", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -221,7 +221,7 @@ describe("embedded > embedded-many-to-one-case2", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -300,7 +300,7 @@ describe("embedded > embedded-many-to-one-case2", () => {
loadedPost!.counters.favorites += 1;
loadedPost!.counters.subcounters.watches += 1;
loadedPost!.counters.likedUsers = [user1];
await connection.getRepository(Post).persist(loadedPost!);
await connection.getRepository(Post).save(loadedPost!);
loadedPost = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -24,15 +24,15 @@ describe("embedded > embedded-many-to-one-case3", () => {
const user1 = new User();
user1.name = "Alice";
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.name = "Clara";
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const postRepository = connection.getRepository(Post);
@ -48,7 +48,7 @@ describe("embedded > embedded-many-to-one-case3", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await postRepository.persist(post1);
await postRepository.save(post1);
const post2 = new Post();
post2.id = 2;
@ -62,7 +62,7 @@ describe("embedded > embedded-many-to-one-case3", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await postRepository.persist(post2);
await postRepository.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -132,7 +132,7 @@ describe("embedded > embedded-many-to-one-case3", () => {
loadedPost!.counters.favorites += 1;
loadedPost!.counters.subcounters.watches += 1;
loadedPost!.counters.likedUser = user3;
await postRepository.persist(loadedPost!);
await postRepository.save(loadedPost!);
loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -181,7 +181,7 @@ describe("embedded > embedded-many-to-one-case3", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.id = 2;
@ -194,7 +194,7 @@ describe("embedded > embedded-many-to-one-case3", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const post3 = new Post();
post3.id = 3;
@ -207,17 +207,17 @@ describe("embedded > embedded-many-to-one-case3", () => {
post3.counters.subcounters = new Subcounters();
post3.counters.subcounters.version = 1;
post3.counters.subcounters.watches = 30;
await connection.getRepository(Post).persist(post3);
await connection.getRepository(Post).save(post3);
const user1 = new User();
user1.name = "Alice";
user1.likedPosts = [post1, post2];
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
user2.likedPosts = [post3];
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
let loadedUsers = await connection.manager
.createQueryBuilder(User, "user")
@ -330,7 +330,7 @@ describe("embedded > embedded-many-to-one-case3", () => {
loadedUser!.name = "Anna";
loadedUser!.likedPosts = [post1];
await connection.getRepository(User).persist(loadedUser!);
await connection.getRepository(User).save(loadedUser!);
loadedUser = await connection.manager
.createQueryBuilder(User, "user")

View File

@ -26,19 +26,19 @@ describe("embedded > embedded-many-to-one-case4", () => {
user1.id = 1;
user1.personId = 1;
user1.name = "Alice";
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.id = 2;
user2.personId = 2;
user2.name = "Bob";
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.id = 3;
user3.personId = 3;
user3.name = "Clara";
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const postRepository = connection.getRepository(Post);
@ -53,7 +53,7 @@ describe("embedded > embedded-many-to-one-case4", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await postRepository.persist(post1);
await postRepository.save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -66,7 +66,7 @@ describe("embedded > embedded-many-to-one-case4", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await postRepository.persist(post2);
await postRepository.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -136,7 +136,7 @@ describe("embedded > embedded-many-to-one-case4", () => {
loadedPost!.counters.favorites += 1;
loadedPost!.counters.subcounters.watches += 1;
loadedPost!.counters.likedUser = user3;
await postRepository.persist(loadedPost!);
await postRepository.save(loadedPost!);
loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -184,7 +184,7 @@ describe("embedded > embedded-many-to-one-case4", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -196,7 +196,7 @@ describe("embedded > embedded-many-to-one-case4", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const post3 = new Post();
post3.title = "About horses";
@ -208,21 +208,21 @@ describe("embedded > embedded-many-to-one-case4", () => {
post3.counters.subcounters = new Subcounters();
post3.counters.subcounters.version = 1;
post3.counters.subcounters.watches = 30;
await connection.getRepository(Post).persist(post3);
await connection.getRepository(Post).save(post3);
const user1 = new User();
user1.id = 1;
user1.personId = 1;
user1.name = "Alice";
user1.likedPosts = [post1, post2];
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.id = 2;
user2.personId = 2;
user2.name = "Bob";
user2.likedPosts = [post3];
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
let loadedUsers = await connection.manager
.createQueryBuilder(User, "user")
@ -338,7 +338,7 @@ describe("embedded > embedded-many-to-one-case4", () => {
loadedUser!.name = "Anna";
loadedUser!.likedPosts = [post1];
await connection.getRepository(User).persist(loadedUser!);
await connection.getRepository(User).save(loadedUser!);
loadedUser = await connection.manager
.createQueryBuilder(User, "user")

View File

@ -26,19 +26,19 @@ describe("embedded > embedded-many-to-one-case5", () => {
user1.id = 1;
user1.personId = 1;
user1.name = "Alice";
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.id = 2;
user2.personId = 2;
user2.name = "Bob";
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.id = 3;
user3.personId = 3;
user3.name = "Clara";
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const postRepository = connection.getRepository(Post);
@ -54,7 +54,7 @@ describe("embedded > embedded-many-to-one-case5", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await postRepository.persist(post1);
await postRepository.save(post1);
const post2 = new Post();
post2.id = 2;
@ -68,7 +68,7 @@ describe("embedded > embedded-many-to-one-case5", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await postRepository.persist(post2);
await postRepository.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -138,7 +138,7 @@ describe("embedded > embedded-many-to-one-case5", () => {
loadedPost!.counters.favorites += 1;
loadedPost!.counters.subcounters.watches += 1;
loadedPost!.counters.likedUser = user3;
await postRepository.persist(loadedPost!);
await postRepository.save(loadedPost!);
loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -187,7 +187,7 @@ describe("embedded > embedded-many-to-one-case5", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.id = 2;
@ -200,7 +200,7 @@ describe("embedded > embedded-many-to-one-case5", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const post3 = new Post();
post3.id = 3;
@ -213,21 +213,21 @@ describe("embedded > embedded-many-to-one-case5", () => {
post3.counters.subcounters = new Subcounters();
post3.counters.subcounters.version = 1;
post3.counters.subcounters.watches = 30;
await connection.getRepository(Post).persist(post3);
await connection.getRepository(Post).save(post3);
const user1 = new User();
user1.id = 1;
user1.personId = 1;
user1.name = "Alice";
user1.likedPosts = [post1, post2];
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.id = 2;
user2.personId = 2;
user2.name = "Bob";
user2.likedPosts = [post3];
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
let loadedUsers = await connection.manager
.createQueryBuilder(User, "user")
@ -343,7 +343,7 @@ describe("embedded > embedded-many-to-one-case5", () => {
loadedUser!.name = "Anna";
loadedUser!.likedPosts = [post1];
await connection.getRepository(User).persist(loadedUser!);
await connection.getRepository(User).save(loadedUser!);
loadedUser = await connection.manager
.createQueryBuilder(User, "user")

View File

@ -24,15 +24,15 @@ describe("embedded > embedded-one-to-one", () => {
const user1 = new User();
user1.name = "Alice";
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
const user3 = new User();
user3.name = "Clara";
await connection.getRepository(User).persist(user3);
await connection.getRepository(User).save(user3);
const postRepository = connection.getRepository(Post);
@ -47,7 +47,7 @@ describe("embedded > embedded-one-to-one", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await postRepository.persist(post1);
await postRepository.save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -60,7 +60,7 @@ describe("embedded > embedded-one-to-one", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await postRepository.persist(post2);
await postRepository.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -130,7 +130,7 @@ describe("embedded > embedded-one-to-one", () => {
loadedPost!.counters.favorites += 1;
loadedPost!.counters.subcounters.watches += 1;
loadedPost!.counters.likedUser = user3;
await postRepository.persist(loadedPost!);
await postRepository.save(loadedPost!);
const loadedPost2 = await connection.manager
.createQueryBuilder(Post, "post")
@ -180,7 +180,7 @@ describe("embedded > embedded-one-to-one", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -192,7 +192,7 @@ describe("embedded > embedded-one-to-one", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const post3 = new Post();
post3.title = "About horses";
@ -204,17 +204,17 @@ describe("embedded > embedded-one-to-one", () => {
post3.counters.subcounters = new Subcounters();
post3.counters.subcounters.version = 1;
post3.counters.subcounters.watches = 12;
await connection.getRepository(Post).persist(post3);
await connection.getRepository(Post).save(post3);
const user1 = new User();
user1.name = "Alice";
user1.likedPost = post1;
await connection.getRepository(User).persist(user1);
await connection.getRepository(User).save(user1);
const user2 = new User();
user2.name = "Bob";
user2.likedPost = post2;
await connection.getRepository(User).persist(user2);
await connection.getRepository(User).save(user2);
let loadedUsers = await connection.manager
.createQueryBuilder(User, "user")
@ -293,7 +293,7 @@ describe("embedded > embedded-one-to-one", () => {
loadedUser!.name = "Anna";
loadedUser!.likedPost = post3;
console.log(loadedUser);
await connection.getRepository(User).persist(loadedUser!);
await connection.getRepository(User).save(loadedUser!);
loadedUser = await connection.manager
.createQueryBuilder(User, "user")

View File

@ -33,7 +33,7 @@ describe("embedded > embedded-with-special-columns", () => {
post1.counters.likes = 3;
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.id = 2;
@ -44,7 +44,7 @@ describe("embedded > embedded-with-special-columns", () => {
post2.counters.likes = 4;
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.watches = 10;
await connection.getRepository(Post).persist(post2);
await connection.getRepository(Post).save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -73,7 +73,7 @@ describe("embedded > embedded-with-special-columns", () => {
loadedPost!.title = "About cars #2";
await sleep(1000);
await connection.getRepository(Post).persist(loadedPost!);
await connection.getRepository(Post).save(loadedPost!);
loadedPost = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -32,7 +32,7 @@ describe("embedded > multiple-primary-columns-with-inherit-embed", () => {
post1.counters.subcounters = new Subcounters();
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 5;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.id = 2;
@ -45,7 +45,7 @@ describe("embedded > multiple-primary-columns-with-inherit-embed", () => {
post2.counters.subcounters = new Subcounters();
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 10;
await postRepository.persist(post2);
await postRepository.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -105,7 +105,7 @@ describe("embedded > multiple-primary-columns-with-inherit-embed", () => {
loadedPost.counters.favorites += 1;
loadedPost.counters.subcounters.watches += 1;
await postRepository.persist(loadedPost);
await postRepository.save(loadedPost);
const loadedPost2 = (await postRepository.findOneById({ id: 1, counters: { code: 1, subcounters: { version: 1 } } }))!;
expect(loadedPost2.should.be.eql(

View File

@ -28,7 +28,7 @@ describe("embedded > multiple-primary-column", () => {
post1.counters.comments = 1;
post1.counters.favorites = 2;
post1.counters.likes = 3;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.id = 2;
@ -38,7 +38,7 @@ describe("embedded > multiple-primary-column", () => {
post2.counters.comments = 2;
post2.counters.favorites = 3;
post2.counters.likes = 4;
await postRepository.persist(post2);
await postRepository.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -55,7 +55,7 @@ describe("embedded > multiple-primary-column", () => {
expect(loadedPost.counters.should.be.eql({ code: 1, comments: 1, favorites: 2, likes: 3 }));
loadedPost.counters.favorites += 1;
await postRepository.persist(loadedPost);
await postRepository.save(loadedPost);
const loadedPost2 = (await postRepository.findOneById({ id: 1, counters: { code: 1 } }))!;
expect(loadedPost.title).to.be.equal("About cars");

View File

@ -28,7 +28,7 @@ describe("embedded > outer-primary-column", () => {
post1.counters.comments = 1;
post1.counters.favorites = 2;
post1.counters.likes = 3;
await connection.getRepository(Post).persist(post1);
await connection.getRepository(Post).save(post1);
const post2 = new Post();
post2.title = "About airplanes";
@ -38,7 +38,7 @@ describe("embedded > outer-primary-column", () => {
post2.counters.comments = 2;
post2.counters.favorites = 3;
post2.counters.likes = 4;
await postRepository.persist(post2);
await postRepository.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -55,7 +55,7 @@ describe("embedded > outer-primary-column", () => {
expect(loadedPost.counters.should.be.eql({ code: 1, comments: 1, favorites: 2, likes: 3 }));
loadedPost.counters.favorites += 1;
await postRepository.persist(loadedPost);
await postRepository.save(loadedPost);
const loadedPost2 = (await postRepository.findOneById(1))!;
expect(loadedPost.title).to.be.equal("About cars");

View File

@ -32,7 +32,7 @@ describe.skip("entity manager > custom data", () => {
const post = new Post();
post.title = "New post";
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
expect(connection.entityManager.getData("user")).to.be.not.empty;
connection.entityManager.getData("user").should.be.eql({ name: "Updated Dima" });

View File

@ -20,7 +20,7 @@ describe("indices > basic unique index test", () => {
const customer = new Customer();
customer.nameEnglish = "Umed";
customer.nameHebrew = "Uma";
await connection.entityManager.persist(customer);
await connection.entityManager.save(customer);
})));
});

View File

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

View File

@ -43,9 +43,9 @@ describe("lazy-relations", () => {
const savedCategory3 = new Category();
savedCategory3.name = "animals";
await categoryRepository.persist(savedCategory1);
await categoryRepository.persist(savedCategory2);
await categoryRepository.persist(savedCategory3);
await categoryRepository.save(savedCategory1);
await categoryRepository.save(savedCategory2);
await categoryRepository.save(savedCategory3);
const savedPost = new Post();
savedPost.title = "Hello post";
@ -54,7 +54,7 @@ describe("lazy-relations", () => {
savedCategory1, savedCategory2, savedCategory3
]);
await postRepository.persist(savedPost);
await postRepository.save(savedPost);
savedPost.categories.should.eventually.be.eql([savedCategory1, savedCategory2, savedCategory3]);
@ -83,9 +83,9 @@ describe("lazy-relations", () => {
const savedCategory3 = new Category();
savedCategory3.name = "animals";
await categoryRepository.persist(savedCategory1);
await categoryRepository.persist(savedCategory2);
await categoryRepository.persist(savedCategory3);
await categoryRepository.save(savedCategory1);
await categoryRepository.save(savedCategory2);
await categoryRepository.save(savedCategory3);
const savedPost = new Post();
savedPost.title = "Hello post";
@ -94,7 +94,7 @@ describe("lazy-relations", () => {
savedCategory1, savedCategory2, savedCategory3
]);
await postRepository.persist(savedPost);
await postRepository.save(savedPost);
savedPost.twoSideCategories.should.eventually.be.eql([savedCategory1, savedCategory2, savedCategory3]);
@ -128,13 +128,13 @@ describe("lazy-relations", () => {
const profile: any = profileRepository.create();
profile.country = "Japan";
await profileRepository.persist(profile);
await profileRepository.save(profile);
const newUser: any = userRepository.create();
newUser.firstName = "Umed";
newUser.secondName = "San";
newUser.profile = Promise.resolve(profile);
await userRepository.persist(newUser);
await userRepository.save(newUser);
newUser.profile.should.eventually.be.eql(profile);
@ -158,7 +158,7 @@ describe("lazy-relations", () => {
fakePost.text = "post #" + i;
fakePosts.push(fakePost);
}
await connection.entityManager.persist(fakePosts);
await connection.entityManager.save(fakePosts);
const fakeCategories: Category[] = [];
for (let i = 0; i < 8; i++) {
@ -166,7 +166,7 @@ describe("lazy-relations", () => {
fakeCategory.name = "category #" + i;
fakeCategories.push(fakeCategory);
}
await connection.entityManager.persist(fakeCategories);
await connection.entityManager.save(fakeCategories);
const category = new Category();
category.name = "category of great post";
@ -176,8 +176,8 @@ describe("lazy-relations", () => {
post.text = "post with great category and great text";
post.category = Promise.resolve(category);
await connection.entityManager.persist(category);
await connection.entityManager.persist(post);
await connection.entityManager.save(category);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager.findOne(Post, { where: { title: "post with great category" } });
const loadedCategory = await loadedPost!.category;
@ -195,7 +195,7 @@ describe("lazy-relations", () => {
fakePost.text = "post #" + i;
fakePosts.push(fakePost);
}
await connection.entityManager.persist(fakePosts);
await connection.entityManager.save(fakePosts);
const fakeCategories: Category[] = [];
for (let i = 0; i < 30; i++) {
@ -203,7 +203,7 @@ describe("lazy-relations", () => {
fakeCategory.name = "category #" + i;
fakeCategories.push(fakeCategory);
}
await connection.entityManager.persist(fakeCategories);
await connection.entityManager.save(fakeCategories);
const category = new Category();
category.name = "category of great post";
@ -213,8 +213,8 @@ describe("lazy-relations", () => {
post.text = "post with great category and great text";
post.twoSideCategory = Promise.resolve(category);
await connection.entityManager.persist(category);
await connection.entityManager.persist(post);
await connection.entityManager.save(category);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager.findOne(Post, { where: { title: "post with great category" } });
const loadedCategory = await loadedPost!.twoSideCategory;
@ -232,7 +232,7 @@ describe("lazy-relations", () => {
fakePost.text = "post #" + i;
fakePosts.push(fakePost);
}
await connection.entityManager.persist(fakePosts);
await connection.entityManager.save(fakePosts);
const fakeCategories: Category[] = [];
for (let i = 0; i < 30; i++) {
@ -240,17 +240,17 @@ describe("lazy-relations", () => {
fakeCategory.name = "category #" + i;
fakeCategories.push(fakeCategory);
}
await connection.entityManager.persist(fakeCategories);
await connection.entityManager.save(fakeCategories);
const category = new Category();
category.name = "category of great post";
await connection.entityManager.persist(category);
await connection.entityManager.save(category);
const post = new Post();
post.title = "post with great category";
post.text = "post with great category and great text";
post.twoSideCategory = Promise.resolve(category);
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedCategory = await connection.entityManager.findOne(Category, { where: { name: "category of great post" } });
const loadedPost = await loadedCategory!.twoSidePosts2;
@ -268,7 +268,7 @@ describe("lazy-relations", () => {
fakePost.text = "post #" + i;
fakePosts.push(fakePost);
}
await connection.entityManager.persist(fakePosts);
await connection.entityManager.save(fakePosts);
const fakeCategories: Category[] = [];
for (let i = 0; i < 30; i++) {
@ -276,17 +276,17 @@ describe("lazy-relations", () => {
fakeCategory.name = "category #" + i;
fakeCategories.push(fakeCategory);
}
await connection.entityManager.persist(fakeCategories);
await connection.entityManager.save(fakeCategories);
const category = new Category();
category.name = "category of great post";
await connection.entityManager.persist(category);
await connection.entityManager.save(category);
const post = new Post();
post.title = "post with great category";
post.text = "post with great category and great text";
post.oneCategory = Promise.resolve(category);
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager.findOne(Post, { where: { title: "post with great category" } });
const loadedCategory = await loadedPost!.oneCategory;
@ -304,7 +304,7 @@ describe("lazy-relations", () => {
fakePost.text = "post #" + i;
fakePosts.push(fakePost);
}
await connection.entityManager.persist(fakePosts);
await connection.entityManager.save(fakePosts);
const fakeCategories: Category[] = [];
for (let i = 0; i < 30; i++) {
@ -312,17 +312,17 @@ describe("lazy-relations", () => {
fakeCategory.name = "category #" + i;
fakeCategories.push(fakeCategory);
}
await connection.entityManager.persist(fakeCategories);
await connection.entityManager.save(fakeCategories);
const category = new Category();
category.name = "category of great post";
await connection.entityManager.persist(category);
await connection.entityManager.save(category);
const post = new Post();
post.title = "post with great category";
post.text = "post with great category and great text";
post.oneCategory = Promise.resolve(category);
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedCategory = await connection.entityManager.findOne(Category, { where: { name: "category of great post" } });
const loadedPost = await loadedCategory!.onePost;

View File

@ -30,7 +30,7 @@ describe.skip("mongodb > array columns", () => {
new Counters(3, "number #3"),
];
post.other1 = [];
await postRepository.persist(post);
await postRepository.save(post);
// check saved post
const loadedPost = await postRepository.findOne({ title: "Post" });
@ -78,7 +78,7 @@ describe.skip("mongodb > array columns", () => {
post.other1 = [
new Counters(0, "other"),
];
await postRepository.persist(post);
await postRepository.save(post);
// now load updated post
const loadedUpdatedPost = await postRepository.findOne({ title: "Post" });

View File

@ -29,7 +29,7 @@ describe.skip("mongodb > embedded columns", () => {
post.counters.favorites = 10;
// post.counters.information = new Information();
// post.counters.information.description = "Hello post";
await postRepository.persist(post);
await postRepository.save(post);
const loadedPost = await postRepository.findOne({ title: "Post" });
@ -49,7 +49,7 @@ describe.skip("mongodb > embedded columns", () => {
post.title = "Updated post";
post.counters.comments = 2;
// post.counters.information.description = "Hello updated post";
await postRepository.persist(post);
await postRepository.save(post);
const loadedUpdatedPost = await postRepository.findOne({ title: "Updated post" });

View File

@ -21,7 +21,7 @@ describe("mongodb > indices", () => {
const post = new Post();
post.title = "Post";
post.name = "About Post";
await postRepository.persist(post);
await postRepository.save(post);
// check saved post
const loadedPost = await postRepository.findOne({ title: "Post" });

View File

@ -31,12 +31,12 @@ describe.skip("mongodb > MongoRepository", () => {
const firstPost = new Post();
firstPost.title = "Post #1";
firstPost.text = "Everything about post #1";
await postRepository.persist(firstPost);
await postRepository.save(firstPost);
const secondPost = new Post();
secondPost.title = "Post #2";
secondPost.text = "Everything about post #2";
await postRepository.persist(secondPost);
await postRepository.save(secondPost);
const cursor = postRepository.createEntityCursor({
title: "Post #1"

View File

@ -57,7 +57,7 @@ describe.skip("mongodb > basic repository actions", () => {
const post = new Post();
post.title = "Post #1";
post.text = "Everything about post!";
await postRepository.persist(post);
await postRepository.save(post);
expect(post.id).not.to.be.empty;
})));
@ -67,7 +67,7 @@ describe.skip("mongodb > basic repository actions", () => {
const post = new Post();
post.title = "Post #1";
post.text = "Everything about post!";
await postRepository.persist(post);
await postRepository.save(post);
expect(post.id).not.to.be.empty;
postRepository.hasId(post).should.be.true;
@ -86,12 +86,12 @@ describe.skip("mongodb > basic repository actions", () => {
const post1 = new Post();
post1.title = "First Post";
post1.text = "Everything about first post";
await postRepository.persist(post1);
await postRepository.save(post1);
const post2 = new Post();
post2.title = "Second Post";
post2.text = "Everything about second post";
await postRepository.persist(post2);
await postRepository.save(post2);
// save few posts
const posts: Post[] = [];
@ -101,7 +101,7 @@ describe.skip("mongodb > basic repository actions", () => {
post.text = "Everything about post #" + i;
posts.push(post);
}
await postRepository.persist(posts);
await postRepository.save(posts);
// assert findOneById method
const loadedPost1 = await postRepository.findOneById(post1.id);
@ -167,7 +167,7 @@ describe.skip("mongodb > basic repository actions", () => {
post.text = "Everything about post #" + i;
posts.push(post);
}
await postRepository.persist(posts);
await postRepository.save(posts);
const [loadedPosts, postsCount] = await postRepository.findAndCount();
expect(postsCount).to.be.equal(50);
@ -186,12 +186,12 @@ describe.skip("mongodb > basic repository actions", () => {
const post1 = new Post();
post1.title = "First Post";
post1.text = "Everything about first post";
await postRepository.persist(post1);
await postRepository.save(post1);
const post2 = new Post();
post2.title = "Second Post";
post2.text = "Everything about second post";
await postRepository.persist(post2);
await postRepository.save(post2);
const loadedPost1 = await postRepository.findOneById(post1.id);
await postRepository.remove(loadedPost1!);
@ -213,7 +213,7 @@ describe.skip("mongodb > basic repository actions", () => {
post.text = "Everything about post #" + i;
posts.push(post);
}
await postRepository.persist(posts);
await postRepository.save(posts);
const [loadedPosts, postsCount] = await postRepository.findAndCount();
expect(postsCount).to.be.equal(50);
@ -233,7 +233,7 @@ describe.skip("mongodb > basic repository actions", () => {
const postToSave = new Post();
postToSave.title = "First Post";
postToSave.text = "Everything about first post";
await postRepository.persist(postToSave);
await postRepository.save(postToSave);
// now preload a post with setting
const post = await postRepository.preload({

View File

@ -51,7 +51,7 @@ describe("persistence > cascade operations", () => {
// post1.category = category1;
// post1.category.photos = [photo1, photo2];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
console.log("********************************************************");
console.log("updating: ", post1);
@ -59,7 +59,7 @@ describe("persistence > cascade operations", () => {
post1.title = "updated post #1";
post1.oneCategory.name = "updated category";
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
console.log("********************************************************");
console.log("removing: ", post1);
@ -116,7 +116,7 @@ describe("persistence > cascade operations", () => {
post1.title = "Hello Post #1";
post1.category = category1;
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
// create second category and post and save them
const category2 = new Category();
@ -126,7 +126,7 @@ describe("persistence > cascade operations", () => {
post2.title = "Hello Post #2";
post2.category = category2;
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
// now check
const posts = await connection.entityManager.find(Post, {
@ -168,7 +168,7 @@ describe("persistence > cascade operations", () => {
category1.name = "Category saved by cascades #1";
category1.posts = [post1];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
// create first post and category and save them
const post2 = new Post();
@ -178,7 +178,7 @@ describe("persistence > cascade operations", () => {
category2.name = "Category saved by cascades #2";
category2.posts = [post2];
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
// now check
const posts = await connection.entityManager.find(Post, {

View File

@ -27,11 +27,11 @@ describe("persistence > cascade operations with custom name", () => {
category1.name = "Category saved by cascades #1";
category1.posts = [post1];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
category1.posts = [];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
// now check
const posts = await connection.entityManager.find(Post, {

View File

@ -50,20 +50,20 @@ describe("persistence > custom-column-names", function() {
before(function () {
newCategory = categoryRepository.create();
newCategory.name = "Animals";
return categoryRepository.persist(newCategory);
return categoryRepository.save(newCategory);
});
// save a new post
before(function() {
newPost = postRepository.create();
newPost.title = "All about animals";
return postRepository.persist(newPost);
return postRepository.save(newPost);
});
// attach category to post and save it
before(function() {
newPost.category = newCategory;
return postRepository.persist(newPost);
return postRepository.save(newPost);
});
// load a post
@ -90,7 +90,7 @@ describe("persistence > custom-column-names", function() {
before(function () {
newCategory = categoryRepository.create();
newCategory.name = "Animals";
return categoryRepository.persist(newCategory);
return categoryRepository.save(newCategory);
});
// save a new post and attach category
@ -98,7 +98,7 @@ describe("persistence > custom-column-names", function() {
newPost = postRepository.create();
newPost.title = "All about animals";
newPost.category = newCategory;
return postRepository.persist(newPost);
return postRepository.save(newPost);
});
// load a post
@ -128,7 +128,7 @@ describe("persistence > custom-column-names", function() {
newPost = postRepository.create();
newPost.title = "All about animals";
newPost.category = newCategory;
return postRepository.persist(newPost);
return postRepository.save(newPost);
});
// load a post
@ -155,28 +155,28 @@ describe("persistence > custom-column-names", function() {
before(function() {
newPost = postRepository.create();
newPost.title = "All about animals";
return postRepository.persist(newPost);
return postRepository.save(newPost);
});
// save a new category
before(function () {
newCategory = categoryRepository.create();
newCategory.name = "Animals";
return categoryRepository.persist(newCategory);
return categoryRepository.save(newCategory);
});
// save a new metadata
before(function() {
newMetadata = metadataRepository.create();
newMetadata.keyword = "animals";
return metadataRepository.persist(newMetadata);
return metadataRepository.save(newMetadata);
});
// attach metadata to category and category to post and save it
before(function() {
newCategory.metadata = newMetadata;
newPost.category = newCategory;
return postRepository.persist(newPost);
return postRepository.save(newPost);
});
// load a post
@ -205,7 +205,7 @@ describe("persistence > custom-column-names", function() {
before(function() {
newPost = postRepository.create();
newPost.title = "All about animals";
return postRepository.persist(newPost);
return postRepository.save(newPost);
});
// save a new category and new metadata
@ -215,13 +215,13 @@ describe("persistence > custom-column-names", function() {
newCategory = categoryRepository.create();
newCategory.name = "Animals";
newCategory.metadata = newMetadata;
return categoryRepository.persist(newCategory);
return categoryRepository.save(newCategory);
});
// attach metadata to category and category to post and save it
before(function() {
newPost.category = newCategory;
return postRepository.persist(newPost);
return postRepository.save(newPost);
});
// load a post

View File

@ -40,8 +40,8 @@ describe.skip("persistence > insert operations", () => {
// post1.category = category1;
// post1.category.photos = [photo1, photo2];
await connection.entityManager.persist(post1);
await connection.entityManager.persist(category1);
await connection.entityManager.save(post1);
await connection.entityManager.save(category1);
console.log("********************************************************");

View File

@ -21,13 +21,13 @@ describe("persistence > insert > update-relation-columns-after-insertion", () =>
// create category
const category1 = new Category();
category1.name = "Category saved by cascades #1";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
// create post
const post1 = new Post();
post1.title = "Hello Post #1";
post1.category = category1;
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
// todo: HERE FOR CALCULATIONS WE NEED TO CALCULATE OVERALL NUMBER OF QUERIES TO PREVENT EXTRA QUERIES

View File

@ -34,22 +34,22 @@ describe("persistence > many-to-many", function() {
// save a new category
const newCategory = categoryRepository.create();
newCategory.name = "Animals";
await categoryRepository.persist(newCategory);
await categoryRepository.save(newCategory);
// save a new post
const newPost = postRepository.create();
newPost.title = "All about animals";
await postRepository.persist(newPost);
await postRepository.save(newPost);
// save a new user
const newUser = userRepository.create();
newUser.name = "Dima";
await userRepository.persist(newUser);
await userRepository.save(newUser);
// now add a category to the post and attach post to a user and save a user
newPost.categories = [newCategory];
newUser.post = newPost;
await userRepository.persist(newUser);
await userRepository.save(newUser);
// load a post
const loadedUser = await userRepository.findOneById(1, {

View File

@ -23,7 +23,7 @@ describe("persistence > multi primary keys", () => {
post1.firstId = 1;
post1.secondId = 2;
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
// create first category and post and save them
const category1 = new Category();
@ -31,7 +31,7 @@ describe("persistence > multi primary keys", () => {
category1.name = "Category saved by cascades #1";
category1.posts = [post1];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
// now check
const posts = await connection.entityManager.find(Post, {

View File

@ -23,7 +23,7 @@ describe("persistence > multi primary keys", () => {
post1.firstId = 1;
post1.secondId = 2;
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
post1.should.be.eql({
firstId: 1,
@ -37,7 +37,7 @@ describe("persistence > multi primary keys", () => {
category1.name = "Category saved by cascades #1";
category1.posts = [post1];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
// now check
const posts = await connection.entityManager.find(Post, {

View File

@ -35,14 +35,14 @@ describe("persistence > one-to-many", function() {
let newCategory = categoryRepository.create();
newCategory.name = "Animals";
await categoryRepository.persist(newCategory);
await categoryRepository.save(newCategory);
let newPost = postRepository.create();
newPost.title = "All about animals";
await postRepository.persist(newPost);
await postRepository.save(newPost);
newPost.categories = [newCategory];
await postRepository.persist(newPost);
await postRepository.save(newPost);
const loadedPost = (await postRepository.findOneById(1, {
join: {
@ -67,12 +67,12 @@ describe("persistence > one-to-many", function() {
let newCategory = categoryRepository.create();
newCategory.name = "Animals";
await categoryRepository.persist(newCategory);
await categoryRepository.save(newCategory);
let newPost = postRepository.create();
newPost.title = "All about animals";
newPost.categories = [newCategory];
await postRepository.persist(newPost);
await postRepository.save(newPost);
const loadedPost = await postRepository.findOneById(1, {
join: {
@ -97,21 +97,21 @@ describe("persistence > one-to-many", function() {
let firstNewCategory = categoryRepository.create();
firstNewCategory.name = "Animals";
await categoryRepository.persist(firstNewCategory);
await categoryRepository.save(firstNewCategory);
let secondNewCategory = categoryRepository.create();
secondNewCategory.name = "Insects";
await categoryRepository.persist(secondNewCategory);
await categoryRepository.save(secondNewCategory);
let newPost = postRepository.create();
newPost.title = "All about animals";
await postRepository.persist(newPost);
await postRepository.save(newPost);
newPost.categories = [firstNewCategory, secondNewCategory];
await postRepository.persist(newPost);
await postRepository.save(newPost);
newPost.categories = [firstNewCategory];
await postRepository.persist(newPost);
await postRepository.save(newPost);
const loadedPost = await postRepository.findOneById(1, {
join: {
@ -137,21 +137,21 @@ describe("persistence > one-to-many", function() {
let firstNewCategory = categoryRepository.create();
firstNewCategory.name = "Animals";
await categoryRepository.persist(firstNewCategory);
await categoryRepository.save(firstNewCategory);
let secondNewCategory = categoryRepository.create();
secondNewCategory.name = "Insects";
await categoryRepository.persist(secondNewCategory);
await categoryRepository.save(secondNewCategory);
let newPost = postRepository.create();
newPost.title = "All about animals";
await postRepository.persist(newPost);
await postRepository.save(newPost);
newPost.categories = [firstNewCategory, secondNewCategory];
await postRepository.persist(newPost);
await postRepository.save(newPost);
newPost.categories = [];
await postRepository.persist(newPost);
await postRepository.save(newPost);
const loadedPost = await postRepository.findOneById(1, {
join: {
@ -175,21 +175,21 @@ describe("persistence > one-to-many", function() {
let firstNewCategory = categoryRepository.create();
firstNewCategory.name = "Animals";
await categoryRepository.persist(firstNewCategory);
await categoryRepository.save(firstNewCategory);
let secondNewCategory = categoryRepository.create();
secondNewCategory.name = "Insects";
await categoryRepository.persist(secondNewCategory);
await categoryRepository.save(secondNewCategory);
let newPost = postRepository.create();
newPost.title = "All about animals";
await postRepository.persist(newPost);
await postRepository.save(newPost);
newPost.categories = [firstNewCategory, secondNewCategory];
await postRepository.persist(newPost);
await postRepository.save(newPost);
newPost.categories = null; // todo: what to do with undefined?
await postRepository.persist(newPost);
await postRepository.save(newPost);
const loadedPost = (await postRepository.findOneById(1, {
join: {

View File

@ -34,7 +34,7 @@ describe("persistence > partial persist", () => {
const newCategory = new Category();
newCategory.name = "Animals";
newCategory.position = 999;
await categoryRepository.persist(newCategory);
await categoryRepository.save(newCategory);
// save a new post
const newPost = new Post();
@ -45,7 +45,7 @@ describe("persistence > partial persist", () => {
newPost.counters.stars = 5;
newPost.counters.commentCount = 2;
newPost.counters.metadata = "Animals Metadata";
await postRepository.persist(newPost);
await postRepository.save(newPost);
// load a post
const loadedPost = await postRepository.findOneById(1, {

View File

@ -36,7 +36,7 @@ describe("persistence > order of persistence execution operations", () => {
post1.title = "Hello Post #1";
post1.category = category1;
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
// now check
/*const posts = await connection.entityManager.find(Post, {

View File

@ -28,49 +28,49 @@ describe("query builder > joins", () => {
const user = new User();
user.name = "Alex Messer";
await connection.entityManager.persist(user);
await connection.entityManager.save(user);
const tag = new Tag();
tag.name = "audi";
await connection.entityManager.persist(tag);
await connection.entityManager.save(tag);
const image1 = new Image();
image1.name = "image1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const image3 = new Image();
image3.name = "image3";
await connection.entityManager.persist(image3);
await connection.entityManager.save(image3);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "airplanes";
category3.images = [image3];
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2];
post1.tag = tag;
post1.author = user;
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.categories = [category3];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -127,25 +127,25 @@ describe("query builder > joins", () => {
const image1 = new Image();
image1.name = "image1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const post = new Post();
post.title = "about BMW";
post.categories = [category1, category2];
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -168,12 +168,12 @@ describe("query builder > joins", () => {
const category = new Category();
category.name = "cars";
await connection.entityManager.persist(category);
await connection.entityManager.save(category);
const post = new Post();
post.title = "about BMW";
post.categories = [category];
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedRawPost = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -194,35 +194,35 @@ describe("query builder > joins", () => {
const user = new User();
user.name = "Alex Messer";
await connection.entityManager.persist(user);
await connection.entityManager.save(user);
const tag = new Tag();
tag.name = "audi";
await connection.entityManager.persist(tag);
await connection.entityManager.save(tag);
const image1 = new Image();
image1.name = "image1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const post = new Post();
post.title = "about BMW";
post.categories = [category1, category2];
post.tag = tag;
post.author = user;
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -248,25 +248,25 @@ describe("query builder > joins", () => {
const image1 = new Image();
image1.name = "image1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const post = new Post();
post.title = "about BMW";
post.categories = [category1, category2];
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -289,7 +289,7 @@ describe("query builder > joins", () => {
const post = new Post();
post.title = "about BMW";
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -309,33 +309,33 @@ describe("query builder > joins", () => {
const user = new User();
user.name = "Alex Messer";
await connection.entityManager.persist(user);
await connection.entityManager.save(user);
const tag = new Tag();
tag.name = "audi";
await connection.entityManager.persist(tag);
await connection.entityManager.save(tag);
const image1 = new Image();
image1.name = "image1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const post = new Post();
post.title = "about BMW";
post.tag = tag;
post.author = user;
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -363,33 +363,33 @@ describe("query builder > joins", () => {
const user = new User();
user.name = "Alex Messer";
await connection.entityManager.persist(user);
await connection.entityManager.save(user);
const tag = new Tag();
tag.name = "audi";
await connection.entityManager.persist(tag);
await connection.entityManager.save(tag);
const image1 = new Image();
image1.name = "image1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const post = new Post();
post.title = "about BMW";
post.tag = tag;
post.author = user;
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -417,19 +417,19 @@ describe("query builder > joins", () => {
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "bmw";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const post = new Post();
post.title = "about BMW";
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -450,53 +450,53 @@ describe("query builder > joins", () => {
const image1 = new Image();
image1.name = "image1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const image3 = new Image();
image3.name = "image3";
image3.isRemoved = true;
await connection.entityManager.persist(image3);
await connection.entityManager.save(image3);
const image4 = new Image();
image4.name = "image4";
image4.isRemoved = true;
await connection.entityManager.persist(image4);
await connection.entityManager.save(image4);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2, image3, image4];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
category2.images = [image1, image2, image3, image4];
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "bmw";
category3.isRemoved = true;
category3.images = [image1, image3];
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const category4 = new Category();
category4.name = "citroen";
category4.isRemoved = true;
category4.images = [image2, image4];
await connection.entityManager.persist(category4);
await connection.entityManager.save(category4);
const post = new Post();
post.title = "about BMW";
post.categories = [category1, category2, category3];
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const post2 = new Post();
post2.title = "about Citroen";
post2.categories = [category1, category4];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -559,33 +559,33 @@ describe("query builder > joins", () => {
const user = new User();
user.name = "Alex Messer";
await connection.entityManager.persist(user);
await connection.entityManager.save(user);
const tag = new Tag();
tag.name = "audi";
await connection.entityManager.persist(tag);
await connection.entityManager.save(tag);
const image1 = new Image();
image1.name = "image1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const post = new Post();
post.title = "about BMW";
post.tag = tag;
post.author = user;
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -613,33 +613,33 @@ describe("query builder > joins", () => {
const user = new User();
user.name = "Alex Messer";
await connection.entityManager.persist(user);
await connection.entityManager.save(user);
const tag = new Tag();
tag.name = "audi";
await connection.entityManager.persist(tag);
await connection.entityManager.save(tag);
const image1 = new Image();
image1.name = "image1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const post = new Post();
post.title = "about BMW";
post.tag = tag;
post.author = user;
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -667,19 +667,19 @@ describe("query builder > joins", () => {
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "bmw";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const post = new Post();
post.title = "about BMW";
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -700,53 +700,53 @@ describe("query builder > joins", () => {
const image1 = new Image();
image1.name = "image1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const image3 = new Image();
image3.name = "image3";
image3.isRemoved = true;
await connection.entityManager.persist(image3);
await connection.entityManager.save(image3);
const image4 = new Image();
image4.name = "image4";
image4.isRemoved = true;
await connection.entityManager.persist(image4);
await connection.entityManager.save(image4);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2, image3, image4];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "germany";
category2.images = [image1, image2, image3, image4];
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "bmw";
category3.isRemoved = true;
category3.images = [image1, image3];
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const category4 = new Category();
category4.name = "citroen";
category4.isRemoved = true;
category4.images = [image2, image4];
await connection.entityManager.persist(category4);
await connection.entityManager.save(category4);
const post = new Post();
post.title = "about BMW";
post.categories = [category1, category2, category3];
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const post2 = new Post();
post2.title = "about Citroen";
post2.categories = [category1, category4];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -805,7 +805,7 @@ describe("query builder > joins", () => {
const post = new Post();
post.title = "about BMW";
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
const loadedPost1 = await connection.entityManager
.createQueryBuilder(Post, "post")

View File

@ -185,7 +185,7 @@ describe("query builder > locking", () => {
const post = new PostWithoutVersionAndUpdateDate();
post.title = "New post";
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
return connection.entityManager.createQueryBuilder(PostWithoutVersionAndUpdateDate, "post")
.setLock("optimistic", 1)
@ -197,7 +197,7 @@ describe("query builder > locking", () => {
const post = new PostWithVersion();
post.title = "New post";
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
return connection.entityManager.createQueryBuilder(PostWithVersion, "post")
.setLock("optimistic", 2)
@ -209,7 +209,7 @@ describe("query builder > locking", () => {
const post = new PostWithVersion();
post.title = "New post";
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
return connection.entityManager.createQueryBuilder(PostWithVersion, "post")
.setLock("optimistic", 1)
@ -221,7 +221,7 @@ describe("query builder > locking", () => {
const post = new PostWithUpdateDate();
post.title = "New post";
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
return connection.entityManager.createQueryBuilder(PostWithUpdateDate, "post")
.setLock("optimistic", new Date(2017, 1, 1))
@ -233,7 +233,7 @@ describe("query builder > locking", () => {
const post = new PostWithUpdateDate();
post.title = "New post";
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
return connection.entityManager.createQueryBuilder(PostWithUpdateDate, "post")
.setLock("optimistic", post.updateDate)
@ -245,7 +245,7 @@ describe("query builder > locking", () => {
const post = new PostWithVersionAndUpdatedDate();
post.title = "New post";
await connection.entityManager.persist(post);
await connection.entityManager.save(post);
return Promise.all([
connection.entityManager.createQueryBuilder(PostWithVersionAndUpdatedDate, "post")

View File

@ -24,33 +24,33 @@ describe("query builder > load-relation-count-and-map > many-to-many", () => {
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "Germany";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const category4 = new Category();
category4.name = "airplanes";
await connection.entityManager.persist(category4);
await connection.entityManager.save(category4);
const category5 = new Category();
category5.name = "Boeing";
await connection.entityManager.persist(category5);
await connection.entityManager.save(category5);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2, category3];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.categories = [category4, category5];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
let loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -73,41 +73,41 @@ describe("query builder > load-relation-count-and-map > many-to-many", () => {
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "Germany";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const category4 = new Category();
category4.name = "airplanes";
await connection.entityManager.persist(category4);
await connection.entityManager.save(category4);
const category5 = new Category();
category5.name = "Boeing";
await connection.entityManager.persist(category5);
await connection.entityManager.save(category5);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2, category3];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.categories = [category4, category5];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const post3 = new Post();
post3.title = "about Audi";
await connection.entityManager.persist(post3);
await connection.entityManager.save(post3);
const post4 = new Post();
post4.title = "about Airbus";
await connection.entityManager.persist(post4);
await connection.entityManager.save(post4);
let loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -125,48 +125,48 @@ describe("query builder > load-relation-count-and-map > many-to-many", () => {
const image1 = new Image();
image1.isRemoved = true;
image1.name = "image #1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image #2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const image3 = new Image();
image3.name = "image #3";
await connection.entityManager.persist(image3);
await connection.entityManager.save(image3);
const category1 = new Category();
category1.name = "cars";
category1.isRemoved = true;
category1.images = [image1, image2];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "Germany";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const category4 = new Category();
category4.name = "airplanes";
category4.images = [image3];
await connection.entityManager.persist(category4);
await connection.entityManager.save(category4);
const category5 = new Category();
category5.name = "Boeing";
await connection.entityManager.persist(category5);
await connection.entityManager.save(category5);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2, category3];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.categories = [category4, category5];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
let loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -208,25 +208,25 @@ describe("query builder > load-relation-count-and-map > many-to-many", () => {
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "Germany";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2, category3];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.categories = [category1, category3];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
let loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -263,36 +263,36 @@ describe("query builder > load-relation-count-and-map > many-to-many", () => {
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.categories = [category1];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const post3 = new Post();
post3.title = "about Mercedes";
post3.categories = [category1];
await connection.entityManager.persist(post3);
await connection.entityManager.save(post3);
const post4 = new Post();
post4.title = "about Boeing";
post4.categories = [category2];
await connection.entityManager.persist(post4);
await connection.entityManager.save(post4);
const post5 = new Post();
post5.title = "about Airbus";
post5.categories = [category2];
await connection.entityManager.persist(post5);
await connection.entityManager.save(post5);
let loadedCategories = await connection.entityManager
.createQueryBuilder(Category, "category")
@ -315,44 +315,44 @@ describe("query builder > load-relation-count-and-map > many-to-many", () => {
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "BMW";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const category4 = new Category();
category4.name = "Boeing";
await connection.entityManager.persist(category4);
await connection.entityManager.save(category4);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.categories = [category1];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const post3 = new Post();
post3.title = "about Mercedes";
post3.categories = [category1];
await connection.entityManager.persist(post3);
await connection.entityManager.save(post3);
const post4 = new Post();
post4.title = "about Boeing";
post4.categories = [category2];
await connection.entityManager.persist(post4);
await connection.entityManager.save(post4);
const post5 = new Post();
post5.title = "about Airbus";
post5.categories = [category2];
await connection.entityManager.persist(post5);
await connection.entityManager.save(post5);
let loadedCategories = await connection.entityManager
.createQueryBuilder(Category, "category")
@ -369,38 +369,38 @@ describe("query builder > load-relation-count-and-map > many-to-many", () => {
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const post1 = new Post();
post1.title = "about BMW";
post1.isRemoved = true;
post1.categories = [category1];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.isRemoved = true;
post2.categories = [category1];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const post3 = new Post();
post3.title = "about Mercedes";
post3.categories = [category1];
await connection.entityManager.persist(post3);
await connection.entityManager.save(post3);
const post4 = new Post();
post4.title = "about Boeing";
post4.categories = [category2];
await connection.entityManager.persist(post4);
await connection.entityManager.save(post4);
const post5 = new Post();
post5.title = "about Airbus";
post5.categories = [category2];
await connection.entityManager.persist(post5);
await connection.entityManager.save(post5);
let loadedCategories = await connection.entityManager
.createQueryBuilder(Category, "category")

View File

@ -24,25 +24,25 @@ describe("query builder > load-relation-count-and-map > one-to-many", () => {
const category1 = new Category();
category1.name = "cars";
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "airplanes";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.categories = [category3];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -65,39 +65,39 @@ describe("query builder > load-relation-count-and-map > one-to-many", () => {
const image1 = new Image();
image1.name = "image #1";
await connection.entityManager.persist(image1);
await connection.entityManager.save(image1);
const image2 = new Image();
image2.name = "image #2";
await connection.entityManager.persist(image2);
await connection.entityManager.save(image2);
const image3 = new Image();
image3.name = "image #3";
await connection.entityManager.persist(image3);
await connection.entityManager.save(image3);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "airplanes";
category3.images = [image3];
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.categories = [category3];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")
@ -132,25 +132,25 @@ describe("query builder > load-relation-count-and-map > one-to-many", () => {
const category1 = new Category();
category1.name = "cars";
category1.isRemoved = true;
await connection.entityManager.persist(category1);
await connection.entityManager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.entityManager.persist(category2);
await connection.entityManager.save(category2);
const category3 = new Category();
category3.name = "airplanes";
await connection.entityManager.persist(category3);
await connection.entityManager.save(category3);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2];
await connection.entityManager.persist(post1);
await connection.entityManager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.categories = [category3];
await connection.entityManager.persist(post2);
await connection.entityManager.save(post2);
const loadedPosts = await connection.entityManager
.createQueryBuilder(Post, "post")

View File

@ -29,31 +29,31 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
const tag = new Tag();
tag.name = "kids";
await connection.manager.persist(tag);
await connection.manager.save(tag);
const category1 = new Category();
category1.name = "kids";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "future";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.name = "cars";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const post = new Post();
post.title = "about kids";
post.categories = [category1, category2];
post.tag = tag;
await connection.manager.persist(post);
await connection.manager.save(post);
const post2 = new Post();
post2.title = "about BMW";
post2.categories = [category3];
post2.tag = tag;
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -90,21 +90,21 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
const category1 = new Category();
category1.name = "kids";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "future";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post = new Post();
post.title = "about kids";
post.categories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
const post2 = new Post();
post2.title = "about kids";
post2.categories = [category1, category2];
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -139,14 +139,14 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
category2.name = "future";
await Promise.all([
connection.manager.persist(category1),
connection.manager.persist(category2)
connection.manager.save(category1),
connection.manager.save(category2)
]);
const post = new Post();
post.title = "about kids";
post.subcategories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
let loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -164,7 +164,7 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
const category = new Category();
category.name = "cars";
await connection.manager.persist(category);
await connection.manager.save(category);
const post1 = new Post();
post1.title = "about BMW";
@ -175,8 +175,8 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
post2.categories = [category];
await Promise.all([
connection.manager.persist(post1),
connection.manager.persist(post2)
connection.manager.save(post1),
connection.manager.save(post2)
]);
let loadedCategory = await connection.manager
@ -200,14 +200,14 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
category2.name = "future";
await Promise.all([
connection.manager.persist(category1),
connection.manager.persist(category2)
connection.manager.save(category1),
connection.manager.save(category2)
]);
const post = new Post();
post.title = "about kids";
post.categories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
let loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -229,14 +229,14 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
category2.name = "future";
await Promise.all([
connection.manager.persist(category1),
connection.manager.persist(category2)
connection.manager.save(category1),
connection.manager.save(category2)
]);
const post = new Post();
post.title = "about kids";
post.subcategories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
let loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -253,7 +253,7 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
const category = new Category();
category.name = "cars";
await connection.manager.persist(category);
await connection.manager.save(category);
const post1 = new Post();
post1.title = "about BMW";
@ -264,8 +264,8 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
post2.categories = [category];
await Promise.all([
connection.manager.persist(post1),
connection.manager.persist(post2)
connection.manager.save(post1),
connection.manager.save(post2)
]);
let loadedCategory = await connection.manager
@ -289,23 +289,23 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
image2.name = "photo2";
await Promise.all([
connection.manager.persist(image1),
connection.manager.persist(image2)
connection.manager.save(image1),
connection.manager.save(image2)
]);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post = new Post();
post.title = "about BMW";
post.categories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
let loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -337,23 +337,23 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
image2.name = "photo2";
await Promise.all([
connection.manager.persist(image1),
connection.manager.persist(image2)
connection.manager.save(image1),
connection.manager.save(image2)
]);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post = new Post();
post.title = "about BMW";
post.categories = [category1, category2];
await connection.manager.persist(post);
await connection.manager.save(post);
let loadedPost = await connection.manager
.createQueryBuilder(Post, "post")
@ -383,19 +383,19 @@ describe("query builder > relation-id > many-to-many > basic-functionality", ()
image2.name = "photo2";
await Promise.all([
connection.manager.persist(image1),
connection.manager.persist(image2)
connection.manager.save(image1),
connection.manager.save(image2)
]);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const post = new Post();
post.title = "about BMW";
post.categories = [category1];
await connection.manager.persist(post);
await connection.manager.save(post);
let loadedPost = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -30,31 +30,31 @@ describe("query builder > relation-id > many-to-many > embedded", () => {
const user1 = new User();
user1.name = "Alice";
await connection.manager.persist(user1);
await connection.manager.save(user1);
const user2 = new User();
user2.name = "Bob";
await connection.manager.persist(user2);
await connection.manager.save(user2);
const user3 = new User();
user3.name = "Clara";
await connection.manager.persist(user3);
await connection.manager.save(user3);
const category1 = new Category();
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.name = "airplanes";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const category4 = new Category();
category4.name = "Boeing";
await connection.manager.persist(category4);
await connection.manager.save(category4);
const post1 = new Post();
post1.title = "About BMW";
@ -67,7 +67,7 @@ describe("query builder > relation-id > many-to-many > embedded", () => {
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 2;
post1.counters.subcounters.watchedUsers = [user1, user2];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "About Boeing";
@ -80,7 +80,7 @@ describe("query builder > relation-id > many-to-many > embedded", () => {
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 1;
post2.counters.subcounters.watchedUsers = [user3];
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -32,39 +32,39 @@ describe("query builder > relation-id > many-to-many > multiple-pk", () => {
category1.id = 1;
category1.code = 1;
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 2;
category2.name = "BMW";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.id = 3;
category3.code = 1;
category3.name = "airplanes";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const category4 = new Category();
category4.id = 4;
category4.code = 2;
category4.name = "Boeing";
await connection.manager.persist(category4);
await connection.manager.save(category4);
const post1 = new Post();
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
post1.categories = [category1, category2];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.title = "About Boeing";
post2.categories = [category3, category4];
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -95,33 +95,33 @@ describe("query builder > relation-id > many-to-many > multiple-pk", () => {
const image1 = new Image();
image1.name = "Image #1";
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "Image #2";
await connection.manager.persist(image2);
await connection.manager.save(image2);
const image3 = new Image();
image3.name = "Image #3";
await connection.manager.persist(image3);
await connection.manager.save(image3);
const image4 = new Image();
image4.name = "Image #4";
await connection.manager.persist(image4);
await connection.manager.save(image4);
const category1 = new Category();
category1.id = 1;
category1.code = 1;
category1.name = "cars";
category1.images = [image1, image2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 2;
category2.name = "airplanes";
category2.images = [image3, image4];
await connection.manager.persist(category2);
await connection.manager.save(category2);
const loadedCategories = await connection.manager
.createQueryBuilder(Category, "category")
@ -154,41 +154,41 @@ describe("query builder > relation-id > many-to-many > multiple-pk", () => {
category1.id = 1;
category1.code = 1;
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 1;
category2.isRemoved = true;
category2.name = "BMW";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.id = 3;
category3.code = 1;
category3.name = "airplanes";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const category4 = new Category();
category4.id = 4;
category4.code = 2;
category4.isRemoved = true;
category4.name = "Boeing";
await connection.manager.persist(category4);
await connection.manager.save(category4);
const post1 = new Post();
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
post1.categories = [category1, category2];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.title = "About Boeing";
post2.categories = [category3, category4];
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -238,39 +238,39 @@ describe("query builder > relation-id > many-to-many > multiple-pk", () => {
category1.id = 1;
category1.code = 1;
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 2;
category2.name = "BMW";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.id = 3;
category3.code = 1;
category3.name = "airplanes";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const category4 = new Category();
category4.id = 4;
category4.code = 2;
category4.name = "Boeing";
await connection.manager.persist(category4);
await connection.manager.save(category4);
const post1 = new Post();
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
post1.subcategories = [category1, category2];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.title = "About Boeing";
post2.subcategories = [category3, category4];
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -301,58 +301,58 @@ describe("query builder > relation-id > many-to-many > multiple-pk", () => {
const image1 = new Image();
image1.name = "Image #1";
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "Image #2";
await connection.manager.persist(image2);
await connection.manager.save(image2);
const image3 = new Image();
image3.name = "Image #3";
await connection.manager.persist(image3);
await connection.manager.save(image3);
const image4 = new Image();
image4.name = "Image #4";
await connection.manager.persist(image4);
await connection.manager.save(image4);
const image5 = new Image();
image5.name = "Image #5";
await connection.manager.persist(image5);
await connection.manager.save(image5);
const category1 = new Category();
category1.id = 1;
category1.code = 1;
category1.name = "cars";
category1.images = [image1, image2, image3];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 1;
category2.name = "airplanes";
category2.images = [image4, image5];
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.id = 3;
category3.code = 2;
category3.name = "Boeing";
category3.images = [image5];
await connection.manager.persist(category3);
await connection.manager.save(category3);
const post1 = new Post();
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
post1.categories = [category1];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.title = "About Boeing";
post2.categories = [category2, category3];
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -413,39 +413,39 @@ describe("query builder > relation-id > many-to-many > multiple-pk", () => {
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 2;
post2.title = "About Audi";
await connection.manager.persist(post2);
await connection.manager.save(post2);
const post3 = new Post();
post3.id = 3;
post3.authorId = 1;
post3.title = "About Boeing";
await connection.manager.persist(post3);
await connection.manager.save(post3);
const post4 = new Post();
post4.id = 4;
post4.authorId = 2;
post4.title = "About Airbus";
await connection.manager.persist(post4);
await connection.manager.save(post4);
const category1 = new Category();
category1.id = 1;
category1.code = 1;
category1.name = "cars";
category1.posts = [post1, post2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 1;
category2.name = "airplanes";
category2.posts = [post3, post4];
await connection.manager.persist(category2);
await connection.manager.save(category2);
const loadedCategories = await connection.manager
.createQueryBuilder(Category, "category")
@ -478,35 +478,35 @@ describe("query builder > relation-id > many-to-many > multiple-pk", () => {
category1.id = 1;
category1.code = 1;
category1.name = "category #1";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 1;
category2.name = "category #2";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.id = 3;
category3.code = 2;
category3.name = "category #3";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const category4 = new Category();
category4.id = 4;
category4.code = 2;
category4.name = "category #4";
await connection.manager.persist(category4);
await connection.manager.save(category4);
const image1 = new Image();
image1.name = "Image #1";
image1.categories = [category1, category2];
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "Image #2";
image2.categories = [category3, category4];
await connection.manager.persist(image2);
await connection.manager.save(image2);
const loadedImages = await connection.manager
.createQueryBuilder(Image, "image")
@ -538,41 +538,41 @@ describe("query builder > relation-id > many-to-many > multiple-pk", () => {
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.isRemoved = true;
post2.title = "About Audi";
await connection.manager.persist(post2);
await connection.manager.save(post2);
const post3 = new Post();
post3.id = 3;
post3.authorId = 1;
post3.title = "About Boeing";
await connection.manager.persist(post3);
await connection.manager.save(post3);
const post4 = new Post();
post4.id = 4;
post4.authorId = 2;
post4.isRemoved = true;
post4.title = "About Airbus";
await connection.manager.persist(post4);
await connection.manager.save(post4);
const category1 = new Category();
category1.id = 1;
category1.code = 1;
category1.name = "cars";
category1.posts = [post1, post2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 1;
category2.name = "airplanes";
category2.posts = [post3, post4];
await connection.manager.persist(category2);
await connection.manager.save(category2);
let loadedCategories = await connection.manager
.createQueryBuilder(Category, "category")
@ -622,56 +622,56 @@ describe("query builder > relation-id > many-to-many > multiple-pk", () => {
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.title = "About Audi";
await connection.manager.persist(post2);
await connection.manager.save(post2);
const post3 = new Post();
post3.id = 3;
post3.authorId = 1;
post3.title = "About Boeing";
await connection.manager.persist(post3);
await connection.manager.save(post3);
const post4 = new Post();
post4.id = 4;
post4.authorId = 2;
post4.title = "About Airbus";
await connection.manager.persist(post4);
await connection.manager.save(post4);
const category1 = new Category();
category1.id = 1;
category1.code = 1;
category1.name = "cars";
category1.posts = [post1, post2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 1;
category2.name = "BMW";
category2.posts = [post1];
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.id = 3;
category3.code = 2;
category3.name = "airplanes";
category3.posts = [post3, post4];
await connection.manager.persist(category3);
await connection.manager.save(category3);
const image1 = new Image();
image1.name = "Image #1";
image1.categories = [category1, category2];
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "Image #2";
image2.categories = [category3];
await connection.manager.persist(image2);
await connection.manager.save(image2);
const loadedImages = await connection.manager
.createQueryBuilder(Image, "image")

View File

@ -29,31 +29,31 @@ describe("query builder > relation-id > many-to-one > basic-functionality", () =
const category1 = new Category();
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const categoryByName1 = new Category();
categoryByName1.name = "BMW";
await connection.manager.persist(categoryByName1);
await connection.manager.save(categoryByName1);
const categoryByName2 = new Category();
categoryByName2.name = "Boeing";
await connection.manager.persist(categoryByName2);
await connection.manager.save(categoryByName2);
const post1 = new Post();
post1.title = "about BWM";
post1.category = category1;
post1.categoryByName = categoryByName1;
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "about Boeing";
post2.category = category2;
post2.categoryByName = categoryByName2;
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -87,16 +87,16 @@ describe("query builder > relation-id > many-to-one > basic-functionality", () =
const category = new Category();
category.name = "cars";
await connection.manager.persist(category);
await connection.manager.save(category);
const post = new Post();
post.title = "about cars";
await connection.manager.persist(post);
await connection.manager.save(post);
const postCategory = new PostCategory();
postCategory.category = category;
postCategory.post = post;
await connection.manager.persist(postCategory);
await connection.manager.save(postCategory);
let loadedPostCategory = await connection.manager
.createQueryBuilder(PostCategory, "postCategory")
@ -114,21 +114,21 @@ describe("query builder > relation-id > many-to-one > basic-functionality", () =
const category = new Category();
category.name = "cars";
await connection.manager.persist(category);
await connection.manager.save(category);
const post = new Post();
post.title = "about cars";
await connection.manager.persist(post);
await connection.manager.save(post);
const image = new Image();
image.name = "image #1";
await connection.manager.persist(image);
await connection.manager.save(image);
const postCategory = new PostCategory();
postCategory.category = category;
postCategory.post = post;
postCategory.image = image;
await connection.manager.persist(postCategory);
await connection.manager.save(postCategory);
let loadedPostCategory = await connection.manager
.createQueryBuilder(PostCategory, "postCategory")

View File

@ -30,19 +30,19 @@ describe("query builder > relation-id > many-to-one > embedded", () => {
const user1 = new User();
user1.name = "Alice";
await connection.manager.persist(user1);
await connection.manager.save(user1);
const user2 = new User();
user2.name = "Bob";
await connection.manager.persist(user2);
await connection.manager.save(user2);
const category1 = new Category();
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post1 = new Post();
post1.title = "About BMW";
@ -55,7 +55,7 @@ describe("query builder > relation-id > many-to-one > embedded", () => {
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 2;
post1.counters.subcounters.watchedUser = user1;
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "About Boeing";
@ -68,7 +68,7 @@ describe("query builder > relation-id > many-to-one > embedded", () => {
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 1;
post2.counters.subcounters.watchedUser = user2;
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -30,34 +30,34 @@ describe("query builder > relation-id > many-to-one > multiple-pk", () => {
category1.id = 1;
category1.code = 1;
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 1;
category2.name = "airplanes";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post1 = new Post();
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
post1.category = category1;
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.title = "About Audi";
post2.category = category1;
await connection.manager.persist(post2);
await connection.manager.save(post2);
const post3 = new Post();
post3.id = 3;
post3.authorId = 2;
post3.title = "About Boeing";
post3.category = category2;
await connection.manager.persist(post3);
await connection.manager.save(post3);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -83,25 +83,25 @@ describe("query builder > relation-id > many-to-one > multiple-pk", () => {
const image1 = new Image();
image1.name = "Image #1";
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "Image #2";
await connection.manager.persist(image2);
await connection.manager.save(image2);
const category1 = new Category();
category1.id = 1;
category1.code = 1;
category1.name = "cars";
category1.image = image1;
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 2;
category2.name = "airplanes";
category2.image = image2;
await connection.manager.persist(category2);
await connection.manager.save(category2);
const loadedCategories = await connection.manager
.createQueryBuilder(Category, "category")
@ -128,34 +128,34 @@ describe("query builder > relation-id > many-to-one > multiple-pk", () => {
category1.id = 1;
category1.code = 1;
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 1;
category2.name = "airplanes";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post1 = new Post();
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
post1.subcategory = category1;
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.title = "About Audi";
post2.subcategory = category1;
await connection.manager.persist(post2);
await connection.manager.save(post2);
const post3 = new Post();
post3.id = 3;
post3.authorId = 2;
post3.title = "About Boeing";
post3.subcategory = category2;
await connection.manager.persist(post3);
await connection.manager.save(post3);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -181,39 +181,39 @@ describe("query builder > relation-id > many-to-one > multiple-pk", () => {
const image1 = new Image();
image1.name = "Image #1";
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "Image #2";
await connection.manager.persist(image2);
await connection.manager.save(image2);
const category1 = new Category();
category1.id = 1;
category1.code = 1;
category1.name = "cars";
category1.image = image1;
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 1;
category2.name = "airplanes";
category2.image = image2;
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post1 = new Post();
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
post1.category = category1;
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.title = "About Boeing";
post2.category = category2;
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -28,29 +28,29 @@ describe("query builder > relation-id > one-to-many > basic-functionality", () =
const category1 = new Category();
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.name = "airplanes";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const category4 = new Category();
category4.name = "Boeing";
await connection.manager.persist(category4);
await connection.manager.save(category4);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.categories = [category3, category4];
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -82,31 +82,31 @@ describe("query builder > relation-id > one-to-many > basic-functionality", () =
const category1 = new Category();
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "BMW";
category2.isRemoved = true;
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.name = "airplanes";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const category4 = new Category();
category4.name = "Boeing";
category4.isRemoved = true;
await connection.manager.persist(category4);
await connection.manager.save(category4);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.categories = [category3, category4];
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -135,52 +135,52 @@ describe("query builder > relation-id > one-to-many > basic-functionality", () =
const image1 = new Image();
image1.name = "Image #1";
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "Image #2";
await connection.manager.persist(image2);
await connection.manager.save(image2);
const image3 = new Image();
image3.name = "Image #3";
await connection.manager.persist(image3);
await connection.manager.save(image3);
const image4 = new Image();
image4.name = "Image #4";
await connection.manager.persist(image4);
await connection.manager.save(image4);
const image5 = new Image();
image5.name = "Image #5";
await connection.manager.persist(image5);
await connection.manager.save(image5);
const category1 = new Category();
category1.name = "cars";
category1.images = [image1, image2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "BMW";
category2.images = [image3];
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.name = "airplanes";
category3.images = [image4, image5];
await connection.manager.persist(category3);
await connection.manager.save(category3);
const category4 = new Category();
category4.name = "Boeing";
await connection.manager.persist(category4);
await connection.manager.save(category4);
const post1 = new Post();
post1.title = "about BMW";
post1.categories = [category1, category2];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "about Audi";
post2.categories = [category3, category4];
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -30,31 +30,31 @@ describe("query builder > relation-id > many-to-many > embedded", () => {
const user1 = new User();
user1.name = "Alice";
await connection.manager.persist(user1);
await connection.manager.save(user1);
const user2 = new User();
user2.name = "Bob";
await connection.manager.persist(user2);
await connection.manager.save(user2);
const user3 = new User();
user3.name = "Clara";
await connection.manager.persist(user3);
await connection.manager.save(user3);
const category1 = new Category();
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "BMW";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.name = "airplanes";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const category4 = new Category();
category4.name = "Boeing";
await connection.manager.persist(category4);
await connection.manager.save(category4);
const post1 = new Post();
post1.title = "About BMW";
@ -67,7 +67,7 @@ describe("query builder > relation-id > many-to-many > embedded", () => {
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 2;
post1.counters.subcounters.watchedUsers = [user1, user2];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "About Boeing";
@ -80,7 +80,7 @@ describe("query builder > relation-id > many-to-many > embedded", () => {
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 1;
post2.counters.subcounters.watchedUsers = [user3];
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -30,39 +30,39 @@ describe("query builder > relation-id > one-to-many > multiple-pk", () => {
category1.id = 1;
category1.code = 1;
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 2;
category2.name = "BMW";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.id = 3;
category3.code = 1;
category3.name = "airplanes";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const category4 = new Category();
category4.id = 4;
category4.code = 2;
category4.name = "Boeing";
await connection.manager.persist(category4);
await connection.manager.save(category4);
const post1 = new Post();
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
post1.categories = [category1, category2];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.title = "About Boeing";
post2.categories = [category3, category4];
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -93,33 +93,33 @@ describe("query builder > relation-id > one-to-many > multiple-pk", () => {
const image1 = new Image();
image1.name = "Image #1";
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "Image #2";
await connection.manager.persist(image2);
await connection.manager.save(image2);
const image3 = new Image();
image3.name = "Image #3";
await connection.manager.persist(image3);
await connection.manager.save(image3);
const image4 = new Image();
image4.name = "Image #4";
await connection.manager.persist(image4);
await connection.manager.save(image4);
const category1 = new Category();
category1.id = 1;
category1.code = 1;
category1.name = "cars";
category1.images = [image1, image2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 2;
category2.name = "airplanes";
category2.images = [image3, image4];
await connection.manager.persist(category2);
await connection.manager.save(category2);
const loadedCategories = await connection.manager
.createQueryBuilder(Category, "category")
@ -152,41 +152,41 @@ describe("query builder > relation-id > one-to-many > multiple-pk", () => {
category1.id = 1;
category1.code = 1;
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 1;
category2.isRemoved = true;
category2.name = "BMW";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.id = 3;
category3.code = 1;
category3.name = "airplanes";
await connection.manager.persist(category3);
await connection.manager.save(category3);
const category4 = new Category();
category4.id = 4;
category4.code = 2;
category4.isRemoved = true;
category4.name = "Boeing";
await connection.manager.persist(category4);
await connection.manager.save(category4);
const post1 = new Post();
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
post1.categories = [category1, category2];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.title = "About Boeing";
post2.categories = [category3, category4];
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -234,58 +234,58 @@ describe("query builder > relation-id > one-to-many > multiple-pk", () => {
const image1 = new Image();
image1.name = "Image #1";
await connection.manager.persist(image1);
await connection.manager.save(image1);
const image2 = new Image();
image2.name = "Image #2";
await connection.manager.persist(image2);
await connection.manager.save(image2);
const image3 = new Image();
image3.name = "Image #3";
await connection.manager.persist(image3);
await connection.manager.save(image3);
const image4 = new Image();
image4.name = "Image #4";
await connection.manager.persist(image4);
await connection.manager.save(image4);
const image5 = new Image();
image5.name = "Image #5";
await connection.manager.persist(image5);
await connection.manager.save(image5);
const category1 = new Category();
category1.id = 1;
category1.code = 1;
category1.name = "cars";
category1.images = [image1, image2];
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.id = 2;
category2.code = 1;
category2.name = "airplanes";
category2.images = [image3, image4];
await connection.manager.persist(category2);
await connection.manager.save(category2);
const category3 = new Category();
category3.id = 3;
category3.code = 2;
category3.name = "Boeing";
category3.images = [image5];
await connection.manager.persist(category3);
await connection.manager.save(category3);
const post1 = new Post();
post1.id = 1;
post1.authorId = 1;
post1.title = "About BMW";
post1.categories = [category1];
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.id = 2;
post2.authorId = 1;
post2.title = "About Boeing";
post2.categories = [category2, category3];
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")

View File

@ -27,21 +27,21 @@ describe("query builder > relation-id > one-to-one > basic-functionality", () =>
const category = new Category();
category.name = "kids";
await connection.manager.persist(category);
await connection.manager.save(category);
const post = new Post();
post.title = "about kids";
post.category = category;
await connection.manager.persist(post);
await connection.manager.save(post);
const category2 = new Category();
category2.name = "cars";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post2 = new Post();
post2.title = "about cars";
post2.category = category2;
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")
@ -67,21 +67,21 @@ describe("query builder > relation-id > one-to-one > basic-functionality", () =>
const category = new Category();
category.name = "kids";
await connection.manager.persist(category);
await connection.manager.save(category);
const post = new Post();
post.title = "about kids";
post.category2 = category;
await connection.manager.persist(post);
await connection.manager.save(post);
const category2 = new Category();
category2.name = "cars";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post2 = new Post();
post2.title = "about cars";
post2.category2 = category2;
await connection.manager.persist(post2);
await connection.manager.save(post2);
let loadedCategories = await connection.manager
.createQueryBuilder(Category, "category")

View File

@ -30,19 +30,19 @@ describe("query builder > relation-id > one-to-one > embedded", () => {
const user1 = new User();
user1.name = "Alice";
await connection.manager.persist(user1);
await connection.manager.save(user1);
const user2 = new User();
user2.name = "Bob";
await connection.manager.persist(user2);
await connection.manager.save(user2);
const category1 = new Category();
category1.name = "cars";
await connection.manager.persist(category1);
await connection.manager.save(category1);
const category2 = new Category();
category2.name = "airplanes";
await connection.manager.persist(category2);
await connection.manager.save(category2);
const post1 = new Post();
post1.title = "About BMW";
@ -55,7 +55,7 @@ describe("query builder > relation-id > one-to-one > embedded", () => {
post1.counters.subcounters.version = 1;
post1.counters.subcounters.watches = 2;
post1.counters.subcounters.watchedUser = user1;
await connection.manager.persist(post1);
await connection.manager.save(post1);
const post2 = new Post();
post2.title = "About Boeing";
@ -68,7 +68,7 @@ describe("query builder > relation-id > one-to-one > embedded", () => {
post2.counters.subcounters.version = 1;
post2.counters.subcounters.watches = 1;
post2.counters.subcounters.watchedUser = user2;
await connection.manager.persist(post2);
await connection.manager.save(post2);
const loadedPosts = await connection.manager
.createQueryBuilder(Post, "post")

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