Commented out database stuff
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
import { type Config } from "drizzle-kit";
|
||||
// import { type Config } from "drizzle-kit";
|
||||
|
||||
import { env } from "~/env.mjs";
|
||||
// import { env } from "~/env.mjs";
|
||||
|
||||
export default {
|
||||
schema: "./src/server/db/schema.ts",
|
||||
driver: "mysql2",
|
||||
dbCredentials: {
|
||||
connectionString: env.DATABASE_URL,
|
||||
},
|
||||
tablesFilter: ["zyrrus-website_*"],
|
||||
} satisfies Config;
|
||||
// export default {
|
||||
// schema: "./src/server/db/schema.ts",
|
||||
// driver: "mysql2",
|
||||
// dbCredentials: {
|
||||
// connectionString: env.DATABASE_URL,
|
||||
// },
|
||||
// tablesFilter: ["zyrrus-website_*"],
|
||||
// } satisfies Config;
|
||||
|
||||
16
src/env.mjs
16
src/env.mjs
@@ -7,13 +7,13 @@ export const env = createEnv({
|
||||
* isn't built with invalid env vars.
|
||||
*/
|
||||
server: {
|
||||
DATABASE_URL: z
|
||||
.string()
|
||||
.url()
|
||||
.refine(
|
||||
(str) => !str.includes("YOUR_MYSQL_URL_HERE"),
|
||||
"You forgot to change the default URL"
|
||||
),
|
||||
// DATABASE_URL: z
|
||||
// .string()
|
||||
// .url()
|
||||
// .refine(
|
||||
// (str) => !str.includes("YOUR_MYSQL_URL_HERE"),
|
||||
// "You forgot to change the default URL"
|
||||
// ),
|
||||
NODE_ENV: z
|
||||
.enum(["development", "test", "production"])
|
||||
.default("development"),
|
||||
@@ -33,7 +33,7 @@ export const env = createEnv({
|
||||
* middlewares) or client-side so we need to destruct manually.
|
||||
*/
|
||||
runtimeEnv: {
|
||||
DATABASE_URL: process.env.DATABASE_URL,
|
||||
// DATABASE_URL: process.env.DATABASE_URL,
|
||||
NODE_ENV: process.env.NODE_ENV,
|
||||
// NEXT_PUBLIC_CLIENTVAR: process.env.NEXT_PUBLIC_CLIENTVAR,
|
||||
},
|
||||
|
||||
@@ -1,31 +1,26 @@
|
||||
import { z } from "zod";
|
||||
|
||||
import { createTRPCRouter, publicProcedure } from "~/server/api/trpc";
|
||||
import { posts } from "~/server/db/schema";
|
||||
import { createTRPCRouter } from "~/server/api/trpc";
|
||||
// import { posts } from "~/server/db/schema";
|
||||
|
||||
export const postRouter = createTRPCRouter({
|
||||
hello: publicProcedure
|
||||
.input(z.object({ text: z.string() }))
|
||||
.query(({ input }) => {
|
||||
return {
|
||||
greeting: `Hello ${input.text}`,
|
||||
};
|
||||
}),
|
||||
|
||||
create: publicProcedure
|
||||
.input(z.object({ name: z.string().min(1) }))
|
||||
.mutation(async ({ ctx, input }) => {
|
||||
// simulate a slow db call
|
||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||
|
||||
await ctx.db.insert(posts).values({
|
||||
name: input.name,
|
||||
});
|
||||
}),
|
||||
|
||||
getLatest: publicProcedure.query(({ ctx }) => {
|
||||
return ctx.db.query.posts.findFirst({
|
||||
orderBy: (posts, { desc }) => [desc(posts.createdAt)],
|
||||
});
|
||||
}),
|
||||
// hello: publicProcedure
|
||||
// .input(z.object({ text: z.string() }))
|
||||
// .query(({ input }) => {
|
||||
// return {
|
||||
// greeting: `Hello ${input.text}`,
|
||||
// };
|
||||
// }),
|
||||
// create: publicProcedure
|
||||
// .input(z.object({ name: z.string().min(1) }))
|
||||
// .mutation(async ({ ctx, input }) => {
|
||||
// // simulate a slow db call
|
||||
// await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||
// await ctx.db.insert(posts).values({
|
||||
// name: input.name,
|
||||
// });
|
||||
// }),
|
||||
// getLatest: publicProcedure.query(({ ctx }) => {
|
||||
// return ctx.db.query.posts.findFirst({
|
||||
// orderBy: (posts, { desc }) => [desc(posts.createdAt)],
|
||||
// });
|
||||
// }),
|
||||
});
|
||||
|
||||
@@ -11,7 +11,7 @@ import { type NextRequest } from "next/server";
|
||||
import superjson from "superjson";
|
||||
import { ZodError } from "zod";
|
||||
|
||||
import { db } from "~/server/db";
|
||||
// import { db } from "~/server/db";
|
||||
|
||||
/**
|
||||
* 1. CONTEXT
|
||||
@@ -38,7 +38,7 @@ interface CreateContextOptions {
|
||||
export const createInnerTRPCContext = (opts: CreateContextOptions) => {
|
||||
return {
|
||||
headers: opts.headers,
|
||||
db,
|
||||
// db,
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { Client } from "@planetscale/database";
|
||||
import { drizzle } from "drizzle-orm/planetscale-serverless";
|
||||
// import { Client } from "@planetscale/database";
|
||||
// import { drizzle } from "drizzle-orm/planetscale-serverless";
|
||||
|
||||
import { env } from "~/env.mjs";
|
||||
import * as schema from "./schema";
|
||||
// import { env } from "~/env.mjs";
|
||||
// import * as schema from "./schema";
|
||||
|
||||
export const db = drizzle(
|
||||
new Client({
|
||||
url: env.DATABASE_URL,
|
||||
}).connection(),
|
||||
{ schema }
|
||||
);
|
||||
// export const db = drizzle(
|
||||
// new Client({
|
||||
// url: env.DATABASE_URL,
|
||||
// }).connection(),
|
||||
// { schema }
|
||||
// );
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
// Example model schema from the Drizzle docs
|
||||
// https://orm.drizzle.team/docs/sql-schema-declaration
|
||||
|
||||
import { sql } from "drizzle-orm";
|
||||
import {
|
||||
bigint,
|
||||
index,
|
||||
mysqlTableCreator,
|
||||
timestamp,
|
||||
varchar,
|
||||
} from "drizzle-orm/mysql-core";
|
||||
// import { sql } from "drizzle-orm";
|
||||
// import {
|
||||
// bigint,
|
||||
// index,
|
||||
// mysqlTableCreator,
|
||||
// timestamp,
|
||||
// varchar,
|
||||
// } from "drizzle-orm/mysql-core";
|
||||
|
||||
/**
|
||||
* This is an example of how to use the multi-project schema feature of Drizzle ORM. Use the same
|
||||
@@ -16,19 +16,19 @@ import {
|
||||
*
|
||||
* @see https://orm.drizzle.team/docs/goodies#multi-project-schema
|
||||
*/
|
||||
export const mysqlTable = mysqlTableCreator((name) => `zyrrus-website_${name}`);
|
||||
// export const mysqlTable = mysqlTableCreator((name) => `zyrrus-website_${name}`);
|
||||
|
||||
export const posts = mysqlTable(
|
||||
"post",
|
||||
{
|
||||
id: bigint("id", { mode: "number" }).primaryKey().autoincrement(),
|
||||
name: varchar("name", { length: 256 }),
|
||||
createdAt: timestamp("created_at")
|
||||
.default(sql`CURRENT_TIMESTAMP`)
|
||||
.notNull(),
|
||||
updatedAt: timestamp("updatedAt").onUpdateNow(),
|
||||
},
|
||||
(example) => ({
|
||||
nameIndex: index("name_idx").on(example.name),
|
||||
})
|
||||
);
|
||||
// export const posts = mysqlTable(
|
||||
// "post",
|
||||
// {
|
||||
// id: bigint("id", { mode: "number" }).primaryKey().autoincrement(),
|
||||
// name: varchar("name", { length: 256 }),
|
||||
// createdAt: timestamp("created_at")
|
||||
// .default(sql`CURRENT_TIMESTAMP`)
|
||||
// .notNull(),
|
||||
// updatedAt: timestamp("updatedAt").onUpdateNow(),
|
||||
// },
|
||||
// (example) => ({
|
||||
// nameIndex: index("name_idx").on(example.name),
|
||||
// })
|
||||
// );
|
||||
|
||||
Reference in New Issue
Block a user