export const albums = pgTable('albums', {
id: uuid('id').notNull().primaryKey().defaultRandom(),
name: text('name').notNull().unique(),
gameId: uuid('game_id').notNull(),
});
export const albumsRelations = relations(albums, ({ one, many }) => ({
music: many(musics),
}));
export const musics = pgTable('musics', {
id: uuid('id').notNull().primaryKey().defaultRandom(),
name: text('name').notNull(),
url: text('url').notNull().unique(),
albumId: uuid('album_id')
.notNull()
.references(() => albums.id, { onDelete: 'cascade' }),
});
export const musicsRelations = relations(musics, ({ one, many }) => ({
album: one(albums, { fields: [musics.albumId], references: [albums.id] }),
musicsToAuthors: many(musicsToAuthors),
}));
export const authors = pgTable('authors', {
id: uuid('id').notNull().primaryKey().defaultRandom(),
name: text('name').notNull().unique(),
});
export const authorsRelations = relations(authors, ({ many }) => ({
musicsToAuthors: many(musicsToAuthors),
}));
// more in first comment
export const albums = pgTable('albums', {
id: uuid('id').notNull().primaryKey().defaultRandom(),
name: text('name').notNull().unique(),
gameId: uuid('game_id').notNull(),
});
export const albumsRelations = relations(albums, ({ one, many }) => ({
music: many(musics),
}));
export const musics = pgTable('musics', {
id: uuid('id').notNull().primaryKey().defaultRandom(),
name: text('name').notNull(),
url: text('url').notNull().unique(),
albumId: uuid('album_id')
.notNull()
.references(() => albums.id, { onDelete: 'cascade' }),
});
export const musicsRelations = relations(musics, ({ one, many }) => ({
album: one(albums, { fields: [musics.albumId], references: [albums.id] }),
musicsToAuthors: many(musicsToAuthors),
}));
export const authors = pgTable('authors', {
id: uuid('id').notNull().primaryKey().defaultRandom(),
name: text('name').notNull().unique(),
});
export const authorsRelations = relations(authors, ({ many }) => ({
musicsToAuthors: many(musicsToAuthors),
}));
// more in first comment