turso-db-plugin
v1.0.1
Published
Turso ve Drizzle için yeniden kullanılabilir eklenti paketi
Readme
turso-db-plugin
Bu eklenti, React/Node.js projelerinde Turso (LibSQL) ve Drizzle ORM kullanımını standartlaştırmak, tekrar eden veritabanı bağlantı kodlarını önlemek ve proje bazlı Drizzle CLI komutlarını tek bir merkezden yönetmek amacıyla oluşturulmuştur.
🚀 Özellikler
- Merkezi Veritabanı Bağlantısı: Her projede tekrar Drizzle başlatma kodunu yazmanızı engeller.
- Vite Proxy Desteği: Vite kullanan projelerde Turso URL'inize ve Auth Token'ınıza özel güvenli ve hazır proxy yapılandırması sunar.
- Yerleşik CLI Komutları: Drizzle Studio, Push ve Generate işlemlerini
turso-dbkomutu üzerinden otomatize eder.
📦 Kurulum
Bu eklentiyi yerel olarak projenize dahil etmek için projenizin kök dizininde aşağıdaki komutu çalıştırabilirsiniz:
yarn add file:../turso-db-plugin
# Veya npm kullanıyorsanız:
# npm install file:../turso-db-pluginNot: Eğer paketi NPM'de yayınladıysanız, yarn add turso-db-plugin şeklinde normal kurulum da yapabilirsiniz.
🛠️ Kullanım Rehberi
1. Vite Proxy Yapılandırması (vite.config.js)
React / Vue projenizdeki vite.config.js dosyasına girerek veritabanı API yönlendirmesini tek satırda çözümleyebilirsiniz:
import { defineConfig, loadEnv } from 'vite';
import react from '@vitejs/plugin-react';
import { getTursoProxy } from 'turso-db-plugin';
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), '');
return {
plugins: [react()],
server: {
proxy: {
// Eklentiden gelen proxy ayarını dahil ediyoruz
...getTursoProxy(env.TURSO_URL, env.TURSO_AUTH_TOKEN)
}
}
}
});2. Veritabanı Bağlantısı (src/db/db.js)
libsql/client veya drizzle-orm yapılandırmasını tekrar tekrar yazmak yerine sadece bilgilerinizi gönderip bağlantınızı kurun:
import { initTursoDb } from 'turso-db-plugin';
import * as schema from './schema.js';
// .env dosyanızdan bilgilerinizi çekin
const dbConfig = {
url: import.meta.env.VITE_TURSO_URL,
authToken: import.meta.env.VITE_TURSO_TOKEN,
schema: schema // (Opsiyonel) Projeye özel Drizzle tablolarınız
};
export const db = initTursoDb(dbConfig);3. Komut Kullanımları (package.json Scripts)
Ana projenizin package.json dosyasındaki karmaşık drizzle-kit komutları yerine kısaltılmış turso-db komutlarımızı kullanabilirsiniz:
"scripts": {
"db:push": "turso-db push",
"db:studio": "turso-db studio",
"db:generate": "turso-db generate"
}Özel ismiyle bir migration üretmek isterseniz terminalde şöyle kullanabilirsiniz (-- ayırıcısı önemlidir):
yarn db:generate -- users_table_added⚙️ Gereksinimler
Projenizde kullanılacak çevresel değişkenler (Environment Variables):
VITE_TURSO_URLveyaTURSO_URLVITE_TURSO_TOKENveyaTURSO_AUTH_TOKEN
