Chatgptで typeormの entity 定義を作成する
この動画をみて、entity 定義も作ってくれるのでは!?っと思ったので試してみました。
https://www.youtube.com/watch?v=42hN7SnJVp4&t=204s
簡単なテーブル構成を書いてもらう
カラムも書き出してもらう
typescript にて entity 作成をお願い
以下Chatgptさんの成果物
import { Entity, Column, PrimaryGeneratedColumn, ManyToOne, JoinColumn, OneToMany } from 'typeorm';
@Entity()
export class User {
@PrimaryGeneratedColumn()
user_id: number;
@Column()
username: string;
@Column()
password_hash: string;
@Column()
profile_image: string;
@Column()
created_at: Date;
@OneToMany(type => Tweet, tweet => tweet.user)
tweets: Tweet[];
@OneToMany(type => Follower, follower => follower.user)
followers: Follower[];
@OneToMany(type => Follower, follower => follower.follower)
following: Follower[];
@OneToMany(type => Like, like => like.user)
likes: Like[];
@OneToMany(type => Retweet, retweet => retweet.user)
retweets: Retweet[];
}
@Entity()
export class Tweet {
@PrimaryGeneratedColumn()
tweet_id: number;
@Column()
text: string;
@Column()
created_at: Date;
@ManyToOne(type => User, user => user.tweets)
user: User;
@OneToMany(type => Like, like => like.tweet)
likes: Like[];
@OneToMany(type => Retweet, retweet => retweet.tweet)
retweets: Retweet[];
}
@Entity()
export class Follower {
@PrimaryGeneratedColumn()
id: number;
@ManyToOne(type => User, user => user.followers)
user: User;
@ManyToOne(type => User, user => user.following)
follower: User;
}
@Entity()
export class Like {
@PrimaryGeneratedColumn()
id: number;
@ManyToOne(type => Tweet, tweet => tweet.likes)
tweet: Tweet;
@ManyToOne(type => User, user => user.likes)
user: User;
}
@Entity()
export class Retweet {
@PrimaryGeneratedColumn()
id: number;
@ManyToOne(type => Tweet, tweet => tweet.retweets)
tweet: Tweet;
@ManyToOne(type => User, user => user.retweets)
user: User;
}
まとめ
やばい