import {
integer,
primaryKey,
sqliteTable,
text,
} from "drizzle-orm/sqlite-core";
import { Entity } from "../abstract/Entity.ts";
import { organisation, rental } from "@/db/index.ts";
import { relations } from "drizzle-orm";
export const addon = sqliteTable("addon", {
...Entity,
name: text("name").notNull(),
description: text("description").notNull(),
price: integer("price").notNull(),
organisationId: text("organisationId").notNull(),
});
export const addonRelations = relations(addon, ({ one, many }) => ({
organisation: one(organisation, {
fields: [addon.organisationId],
references: [organisation.id],
}),
addontsToRentals: many(addonsToRentals),
}));
export const addonsToRentals = sqliteTable(
"addons_to_rentals",
{
addonId: text("addonId")
.notNull()
.references(() => addon.id),
rentalId: text("rentalId")
.notNull()
.references(() => rental.id),
},
t => ({
pk: primaryKey(t.addonId, t.rentalId),
}),
);
export const addonsToRentalsRelations = relations(
addonsToRentals,
({ one }) => ({
addon: one(addon, {
fields: [addonsToRentals.addonId],
references: [addon.id],
}),
rental: one(rental, {
fields: [addonsToRentals.rentalId],
references: [rental.id],
}),
}),
);import {
integer,
primaryKey,
sqliteTable,
text,
} from "drizzle-orm/sqlite-core";
import { Entity } from "../abstract/Entity.ts";
import { organisation, rental } from "@/db/index.ts";
import { relations } from "drizzle-orm";
export const addon = sqliteTable("addon", {
...Entity,
name: text("name").notNull(),
description: text("description").notNull(),
price: integer("price").notNull(),
organisationId: text("organisationId").notNull(),
});
export const addonRelations = relations(addon, ({ one, many }) => ({
organisation: one(organisation, {
fields: [addon.organisationId],
references: [organisation.id],
}),
addontsToRentals: many(addonsToRentals),
}));
export const addonsToRentals = sqliteTable(
"addons_to_rentals",
{
addonId: text("addonId")
.notNull()
.references(() => addon.id),
rentalId: text("rentalId")
.notNull()
.references(() => rental.id),
},
t => ({
pk: primaryKey(t.addonId, t.rentalId),
}),
);
export const addonsToRentalsRelations = relations(
addonsToRentals,
({ one }) => ({
addon: one(addon, {
fields: [addonsToRentals.addonId],
references: [addon.id],
}),
rental: one(rental, {
fields: [addonsToRentals.rentalId],
references: [rental.id],
}),
}),
);npx drizzle-kit generate:sqlitenpx drizzle-kit generate:sqliteReferenceError: Cannot access 'addon' before initialization
at Object.addon (/Users/notluksus/Work/velocita/db/schema/addon.ts:1:1)
at Object.get [as addon] (/Users/notluksus/Work/velocita/db/schema/addon.ts:14:45)
at Object.get [as addon] (/Users/notluksus/Work/velocita/db/schema/index.ts:10:45)
at Object.get [as addon] (/Users/notluksus/Work/velocita/db/index.ts:16:45)
at Function.entries (<anonymous>)
at Object.extractTablesRelationalConfig (/Users/notluksus/Work/velocita/node_modules/drizzle-orm/alias-72a4082c.cjs:3445:39)
at drizzle (/Users/notluksus/Work/velocita/node_modules/src/better-sqlite3/driver.ts:32:24)
at Object.<anonymous> (/Users/notluksus/Work/velocita/db/index.ts:6:12)
at Module._compile (node:internal/modules/cjs/loader:1226:14)
at Module._compile (/Users/notluksus/Work/velocita/node_modules/drizzle-kit/index.cjs:8604:30)ReferenceError: Cannot access 'addon' before initialization
at Object.addon (/Users/notluksus/Work/velocita/db/schema/addon.ts:1:1)
at Object.get [as addon] (/Users/notluksus/Work/velocita/db/schema/addon.ts:14:45)
at Object.get [as addon] (/Users/notluksus/Work/velocita/db/schema/index.ts:10:45)
at Object.get [as addon] (/Users/notluksus/Work/velocita/db/index.ts:16:45)
at Function.entries (<anonymous>)
at Object.extractTablesRelationalConfig (/Users/notluksus/Work/velocita/node_modules/drizzle-orm/alias-72a4082c.cjs:3445:39)
at drizzle (/Users/notluksus/Work/velocita/node_modules/src/better-sqlite3/driver.ts:32:24)
at Object.<anonymous> (/Users/notluksus/Work/velocita/db/index.ts:6:12)
at Module._compile (node:internal/modules/cjs/loader:1226:14)
at Module._compile (/Users/notluksus/Work/velocita/node_modules/drizzle-kit/index.cjs:8604:30)