mw10013 / remix-cf-20240202

0 stars 0 forks source link

D1 Chat Memory #8

Closed mw10013 closed 11 months ago

mw10013 commented 11 months ago

https://js.langchain.com/docs/api/stores_message_cloudflare_d1/classes/CloudflareD1MessageHistory

/chat/_index.tsx - admin: list, new /chat/$id.tsx

kv: chat:$id

mw10013 commented 11 months ago

https://developers.cloudflare.com/d1/get-started

wrangler d1 execute --local --file=./schema.sql wrangler d1 execute --local --command='SELECT * FROM Customers'

pnpm wrangler d1 execute rcf_db --local --file=./d1/schema.sql pnpm wrangler d1 execute rcf_db --local --command='select * from customers'

https://github.com/jose-donato/race-stack https://rozenmd.com/d1-sql-notes https://www.opszero.com/notes/using-cloudflare-d1/

mw10013 commented 11 months ago

https://github.com/drizzle-team/drizzle-orm https://github.com/drizzle-team/drizzle-orm/tree/main/examples/cloudflare-d1 https://github.com/drizzle-team/drizzle-orm/blob/main/drizzle-orm/src/sqlite-core/README.md

mw10013 commented 11 months ago

https://developers.cloudflare.com/d1/platform/migrations/ https://orm.drizzle.team/kit-docs/commands#generate-migrations https://hrishikeshpathak.com/blog/typesafe-database-queries-with-drizzle-and-cloudflare-d1/

mw10013 commented 11 months ago

https://github.com/drizzle-team/drizzle-orm/blob/main/examples/cloudflare-d1/src/index.ts

router.get('/users', injectDB, async (req: Request, env: Env) => {
    const query = req.db.select().from(users);
    console.log(query.toSQL());
    const result = await query.all();
    return json(result);
});

router.get('/users/:id', injectDB, async (req: Request, env: Env) => {
    const result = await req.db
        .select().from(users)
        .where(eq(users.id, Number(req.params!['id'])))
        .get();
    return json(result);
});

router.post('/users', injectDB, async (req: Request, env: Env) => {
    const { name, email } = await req.json!();
    const res = await req.db.insert(users).values({ name, email }).returning().get();
    return json({ res });
});
mw10013 commented 11 months ago

resetting sqlite database file

https://stackoverflow.com/questions/21547616/how-do-i-completely-clear-a-sqlite3-database-without-deleting-the-database-file

mw10013 commented 11 months ago

https://github.com/google/zx https://google.github.io/zx/getting-started https://github.com/minimistjs/minimist

mw10013 commented 11 months ago

https://www.sqlite.org/cli.html

sqlite3 db.sqlite "pragma table_list;"
mw10013 commented 11 months ago

push https://medium.com/@andriisherman/migrations-with-drizzle-just-got-better-push-to-sqlite-is-here-c6c045c5d0fb https://github.com/drizzle-team/drizzle-orm/blob/main/examples/better-sqlite3/drizzle.config.ts https://github.com/drizzle-team/drizzle-orm/blob/main/examples/better-sqlite3/migrate.ts tablesFilter: https://orm.drizzle.team/kit-docs/conf#multi-project-schema

export default {
  schema: "./src/schema.ts",
  out: "./drizzle",
  driver: "better-sqlite",
  dbCredentials: {
    url: "./sqlite.db",
  },
} satisfies Config;
import { drizzle } from "drizzle-orm/better-sqlite3";
import { migrate } from "drizzle-orm/better-sqlite3/migrator";
import Database from "better-sqlite3";

const sqlite = new Database("sqlite.db");
const db = drizzle(sqlite);

// this will automatically run needed migrations on the database
migrate(db, { migrationsFolder: "./drizzle" });