Issue
I tried to mikroORM create migrations but it seems that I cannot create the table itself. I don't know what I missed and the error says database "crm" does not exist.
Please see code below:
mikro-config.ts
import { MikroORM } from "@mikro-orm/core";
import { Post } from "./entities/Post";
import { __prod__ } from "./constants";
import path from "path";
export default {
migrations: {
path: path.join(__dirname, "./migrations"), // path to the folder with migrations
pattern: /^[\w-]+\d+\.[tj]s$/, // regex pattern for the migration files
},
entities: [Post],
dbName: "crm",
type: "postgresql",
user: "postgres",
debug: !__prod__,
} as Parameters<typeof MikroORM.init>[0];
index.ts
import { MikroORM as MK } from "@mikro-orm/core";
import { __prod__ } from "./constants";
import { Post } from "./entities/Post";
import mikroOrmConfig from "./mikro-orm.config";
const main = async () => {
const orm = await MK.init(mikroOrmConfig);
const post = orm.em.create(Post, {
firstName: "Test",
lastName: "Test2",
dateOfBirth: "2012-01-01",
email: "xxy@gmail.com",
phone: "192803994",
address: "34th street local avenue, trade city",
});
await orm.em.persistAndFlush(post);
};
main().catch((err) => console.log(err));
console.log("test");
Post.ts
import { Entity, PrimaryKey, Property } from "@mikro-orm/core";
@Entity()
export class Post {
@PrimaryKey()
_id!: number;
@Property()
createdAt: Date = new Date();
@Property({ onUpdate: () => new Date() })
updatedAt: Date = new Date();
@Property()
firstName!: string;
@Property()
lastName!: string;
@Property()
dateOfBirth!: Date;
@Property()
email!: string;
@Property()
phone!: string;
@Property()
Address!: string;
}
npx mikro-orm migration:create --initial.
I've already delete the folders and tried again nothing happen.
Solution
You need to create a postgres database separately. Mikro-orm will not create a database for you.
Create a postgres database with name "crm" and then run and apply migrations your tables will be created.
Answered By - Rasool Khan
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.