dafok
This commit is contained in:
parent
c333b9aaec
commit
9ebaece0a2
@ -21,14 +21,14 @@ export const initDb = async () => {
|
||||
schema,
|
||||
});
|
||||
|
||||
await migrate(db, {
|
||||
migrationsFolder: "./src/db/migrations",
|
||||
})
|
||||
.then(() => {
|
||||
Logger.info("INIT", "Migrated database");
|
||||
})
|
||||
.catch((error) => {
|
||||
Logger.error("INIT", `Failed to migrate database ${String(error)}`);
|
||||
throw new Error(`Failed to migrate database ${String(error)}`);
|
||||
});
|
||||
// await migrate(db, {
|
||||
// migrationsFolder: "./src/db/migrations",
|
||||
// })
|
||||
// .then(() => {
|
||||
// Logger.info("INIT", "Migrated database");
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// Logger.error("INIT", `Failed to migrate database ${String(error)}`);
|
||||
// throw new Error(`Failed to migrate database ${String(error)}`);
|
||||
// });
|
||||
};
|
||||
|
@ -1,37 +0,0 @@
|
||||
import { relations } from "drizzle-orm/relations";
|
||||
import { sites, signups, users, sessions, articles } from "./schema";
|
||||
|
||||
export const signupsRelations = relations(signups, ({one}) => ({
|
||||
site: one(sites, {
|
||||
fields: [signups.site_id],
|
||||
references: [sites.id]
|
||||
}),
|
||||
}));
|
||||
|
||||
export const sitesRelations = relations(sites, ({one, many}) => ({
|
||||
signups: many(signups),
|
||||
user: one(users, {
|
||||
fields: [sites.user_id],
|
||||
references: [users.id]
|
||||
}),
|
||||
articles: many(articles),
|
||||
}));
|
||||
|
||||
export const usersRelations = relations(users, ({many}) => ({
|
||||
sites: many(sites),
|
||||
sessions: many(sessions),
|
||||
}));
|
||||
|
||||
export const sessionsRelations = relations(sessions, ({one}) => ({
|
||||
user: one(users, {
|
||||
fields: [sessions.user_id],
|
||||
references: [users.id]
|
||||
}),
|
||||
}));
|
||||
|
||||
export const articlesRelations = relations(articles, ({one}) => ({
|
||||
site: one(sites, {
|
||||
fields: [articles.site_id],
|
||||
references: [sites.id]
|
||||
}),
|
||||
}));
|
@ -1,70 +0,0 @@
|
||||
import { pgTable, foreignKey, pgEnum, text, uuid, timestamp, integer, varchar, boolean, jsonb } from "drizzle-orm/pg-core"
|
||||
import { sql } from "drizzle-orm"
|
||||
|
||||
export const subscription_tier = pgEnum("subscription_tier", ['free', 'basic', 'pro', 'enterprise'])
|
||||
|
||||
|
||||
export const signups = pgTable("signups", {
|
||||
email: text("email").notNull(),
|
||||
site_id: uuid("site_id").notNull().references(() => sites.id),
|
||||
created_at: timestamp("created_at", { mode: 'string' }).defaultNow().notNull(),
|
||||
source: text("source"),
|
||||
});
|
||||
|
||||
export const users = pgTable("users", {
|
||||
id: uuid("id").defaultRandom().primaryKey().notNull(),
|
||||
name: text("name"),
|
||||
email: text("email"),
|
||||
channel_id: text("channel_id"),
|
||||
google_id: text("google_id"),
|
||||
uploads_playlist_id: text("uploads_playlist_id"),
|
||||
subscription_tier: subscription_tier("subscription_tier").default('free').notNull(),
|
||||
tokens: integer("tokens").default(0).notNull(),
|
||||
stripe_id: text("stripe_id"),
|
||||
});
|
||||
|
||||
export const sites = pgTable("sites", {
|
||||
id: uuid("id").defaultRandom().primaryKey().notNull(),
|
||||
user_id: uuid("user_id").references(() => users.id),
|
||||
name: text("name"),
|
||||
primary_color_hex: varchar("primary_color_hex", { length: 6 }).default('c4ced4'::character varying).notNull(),
|
||||
secondary_color_hex: varchar("secondary_color_hex", { length: 6 }).default('27251f'::character varying).notNull(),
|
||||
text_color_hex: varchar("text_color_hex", { length: 6 }).default('ffffff'::character varying).notNull(),
|
||||
title: text("title").default('The best blog in the world!'),
|
||||
subtitle: text("subtitle").default('Some extra info about the best blog in the world!'),
|
||||
domain: text("domain"),
|
||||
send_freebie: boolean("send_freebie").default(false),
|
||||
freebie_name: text("freebie_name").default(''),
|
||||
freebie_url: text("freebie_url").default(''),
|
||||
freebie_text: text("freebie_text").default(''),
|
||||
freebie_image_url: text("freebie_image_url").default(''),
|
||||
subdomain_slug: text("subdomain_slug"),
|
||||
social_medias: jsonb("social_medias"),
|
||||
});
|
||||
|
||||
export const sessions = pgTable("sessions", {
|
||||
id: uuid("id").defaultRandom().primaryKey().notNull(),
|
||||
user_id: uuid("user_id").references(() => users.id),
|
||||
google_access_token: text("google_access_token"),
|
||||
google_refresh_token: text("google_refresh_token"),
|
||||
expires_at: timestamp("expires_at", { mode: 'string' }),
|
||||
});
|
||||
|
||||
export const articles = pgTable("articles", {
|
||||
id: uuid("id").defaultRandom().primaryKey().notNull(),
|
||||
site_id: uuid("site_id").references(() => sites.id),
|
||||
content: text("content"),
|
||||
source_video_id: text("source_video_id"),
|
||||
title: text("title"),
|
||||
seo_slug: text("seo_slug"),
|
||||
created_at: timestamp("created_at", { mode: 'string' }).defaultNow(),
|
||||
is_public: boolean("is_public").default(false),
|
||||
views: integer("views").default(0),
|
||||
seo_title: text("seo_title"),
|
||||
seo_description: text("seo_description"),
|
||||
excerp: text("excerp"),
|
||||
});
|
||||
|
||||
export const waitlist = pgTable("waitlist", {
|
||||
email: text("email"),
|
||||
});
|
Loading…
Reference in New Issue
Block a user