■ ■ ■ ■ ■ ■
integration-tests/orm-tests/mikro-orm/src/index.ts
| 1 | + | import { MikroORM } from "@mikro-orm/core"; |
| 2 | + | import { MySqlDriver } from '@mikro-orm/mysql'; |
| 3 | + | import { User } from "./entity/User"; |
| 4 | + | |
| 5 | + | async function connectAndGetOrm() { |
| 6 | + | const orm = await MikroORM.init<MySqlDriver>({ |
| 7 | + | entities: [User], |
| 8 | + | type: "mysql", |
| 9 | + | clientUrl: "mysql://localhost:3306", |
| 10 | + | dbName: "dolt", |
| 11 | + | user: "dolt", |
| 12 | + | password: "", |
| 13 | + | persistOnCreate: true, |
| 14 | + | }); |
| 15 | + | |
| 16 | + | return orm; |
| 17 | + | } |
| 18 | + | |
| 19 | + | connectAndGetOrm().then(async orm => { |
| 20 | + | console.log("Connected"); |
| 21 | + | const em = orm.em.fork(); |
| 22 | + | |
| 23 | + | // this creates the tables if not exist |
| 24 | + | const generator = orm.getSchemaGenerator(); |
| 25 | + | await generator.updateSchema(); |
| 26 | + | |
| 27 | + | console.log("Inserting a new user into the database...") |
| 28 | + | const user = new User("Timber", "Saw", 25) |
| 29 | + | await em.persistAndFlush(user) |
| 30 | + | console.log("Saved a new user with id: " + user.id) |
| 31 | + | |
| 32 | + | console.log("Loading users from the database...") |
| 33 | + | const users = await em.findOne(User, 1) |
| 34 | + | console.log("Loaded users: ", users) |
| 35 | + | |
| 36 | + | orm.close(); |
| 37 | + | console.log("Smoke test passed!") |
| 38 | + | process.exit(0) |
| 39 | + | }).catch(error => { |
| 40 | + | console.log(error) |
| 41 | + | console.log("Smoke test failed!") |
| 42 | + | process.exit(1) |
| 43 | + | }); |
| 44 | + | |