@reliverse/rse-sdk
Version:
@reliverse/rse-sdk allows you to create new plugins for @reliverse/rse CLI, interact with reliverse.org, and even extend your own CLI functionality (you may also try @reliverse/dler-sdk for this case).
33 lines (32 loc) • 887 B
JavaScript
import { createClient } from "@libsql/client/node";
import { ensuredir } from "@reliverse/relifso";
import { relinka } from "@reliverse/relinka";
import { drizzle } from "drizzle-orm/libsql/node";
import { memoryPath, cliHomeDir } from "../constants.js";
await ensuredir(cliHomeDir);
const client = createClient({
url: `file:${memoryPath}`
});
const db = drizzle(client);
async function initializeDatabase() {
try {
await client.batch([
`CREATE TABLE IF NOT EXISTS config_keys (
key TEXT PRIMARY KEY,
value TEXT NOT NULL
)`,
`CREATE TABLE IF NOT EXISTS user_data (
key TEXT PRIMARY KEY,
value TEXT NOT NULL
)`
]);
} catch (error) {
relinka(
"error",
"Failed to initialize database:",
error instanceof Error ? error.message : String(error)
);
}
}
await initializeDatabase();
export { db };