@@ -7,62 +7,138 @@ A powerful CLI tool to automatically scaffold and configure database setup using
7
7
![ NPM Downloads] ( https://img.shields.io/npm/dw/drizzle-setup?logo=npm&color=%23f75352 )
8
8
![ NPM Version] ( https://img.shields.io/npm/v/drizzle-setup?logo=npm&color=%23f75352 )
9
9
10
+ ---
11
+
10
12
## ✨ Features
11
13
12
- - 📦 ** Zero Config Setup** – Instantly scaffold DB structure and config with minimal input.
13
- - 📜 ** Drizzle Scripts** – Automatically updates ` package.json ` with Drizzle CLI scripts.
14
- - 🔧 ** .env Auto Update** – Automatically injects required environment variables.
15
- - 🧩 ** Multiple DB Support** – Works seamlessly with PostgreSQL,SQLite,MySQL and More setups.
16
- - 📁 ** Template Copying** – Instantly sets up a working ` target-folder ` structure.
14
+ - 🚀 ** Zero Configuration Setup** – Instantly scaffold database structure and config with minimal input
15
+ - 📜 ** Automated Script Generation** – Automatically updates ` package.json ` with essential Drizzle CLI scripts
16
+ - 🔐 ** Environment Management** – Automatically injects required environment variables into ` .env `
17
+ - 🗃️ ** Multi-Database Support** – Seamlessly works with PostgreSQL, SQLite, MySQL, and other popular databases
18
+ - 📁 ** Template System** – Instantly sets up a working project structure with best practices
19
+ - 🎯 ** Interactive Setup** – Guided CLI experience with smart defaults
20
+ - 📦 ** Dependency Management** – Automatically installs required packages based on your database choice
17
21
18
22
---
19
23
20
24
## 🚀 Quick Start
21
25
22
- Just run the CLI in your project directory:
26
+ Navigate to your project directory and run :
23
27
24
28
``` bash
25
- npx drizzle-setup # or
26
- bunx drizzle-setup # or
27
- pnpm dlx drizzle-setup # or
29
+ npx drizzle-setup
28
30
```
29
31
30
- You'll be guided through:
32
+ The CLI will guide you through an interactive setup process :
31
33
32
- 1 . ** Choosing your database** (PostgreSQL or SQLite moreover)
33
- 2 . ** Selecting a config preset**
34
- 3 . ** Specifying a target folder**
35
- 4 . ** Copying boilerplate files**
36
- 5 . ** Setting up ` drizzle.config.ts ` **
37
- 6 . ** Updating ` .env ` and ` package.json ` **
38
- 7 . ** Installing dependencies** via your chosen package manager
34
+ ### Setup Flow
35
+
36
+ 1 . ** 🗄️ Database Selection** – Choose from PostgreSQL, SQLite, MySQL, and more
37
+ 2 . ** ⚙️ Configuration Preset** – Select from optimized presets for different use cases
38
+ 3 . ** 📁 Target Directory** – Specify where to create your database files
39
+ 4 . ** 📋 Template Selection** – Choose from various boilerplate templates
40
+ 5 . ** 🔧 Config Generation** – Automatically create ` drizzle.config.ts `
41
+ 6 . ** 🔐 Environment Setup** – Update ` .env ` with required variables
42
+ 7 . ** 📦 Package Management** – Install dependencies via your preferred package manager
43
+ 8 . ** ✅ Final Verification** – Ensure everything is set up correctly
39
44
40
45
---
41
46
42
- ## 🧪 Supported Databases
47
+ ## 🗃️ Supported Databases
48
+
49
+ ### PostgreSQL
50
+
51
+ - ** Default PostgreSQL** – Standard PostgreSQL setup
52
+ - ** Neon** – Serverless PostgreSQL with automatic scaling
53
+ - ** Supabase** – Open-source Firebase alternative
54
+ - ** Vercel Postgres** – Serverless PostgreSQL by Vercel
55
+
56
+ ### SQLite
57
+
58
+ - ** Default SQLite** – Local SQLite database
59
+ - ** Turso** – Edge SQLite database
60
+ - ** Bun SQLite** – High-performance SQLite with Bun runtime
61
+ - ** Cloudflare D1** – Serverless SQLite at the edge
62
+
63
+ ### MySQL
43
64
44
- - PostgreSQL - Default, Neon, Vercel Postgres
45
- - SQLite - Default, Turso, Bun SQLite
65
+ - ** Default MySQL** – Standard MySQL setup
66
+ - ** PlanetScale** – Serverless MySQL platform
67
+ - ** Railway MySQL** – Cloud MySQL hosting
46
68
47
- Each database type comes with its own pre-configured templates and ` .env ` variables.
69
+ ### Other Databases
70
+
71
+ - ** MongoDB** – NoSQL document database
72
+ - ** Redis** – In-memory data structure store
73
+
74
+ > Each database type comes with pre-configured templates, optimized settings, and environment variables.
48
75
49
76
---
50
77
51
- ## 🧱 Directory Structure
78
+ ## 🏗️ Project Structure
52
79
53
- After setup, your project might look like this :
80
+ After setup, your project will have a clean, organized structure :
54
81
55
82
```
56
83
project-root/
57
- ├── drizzle.config.ts
58
- ├── .env
59
- ├── [target-folder]/
60
- │ ├── schema.ts
61
- │ └── index.ts
84
+ ├── node_modules/ # Installed dependencies
85
+ ├── drizzle.config.ts # Drizzle configuration
86
+ ├── .env # Environment variables
87
+ ├── .env.example # Example environment file
88
+ ├── package.json # Updated with Drizzle scripts
89
+ ├── [target-folder]/ # Your database folder
90
+ │ ├── schema.ts # Database schema definitions
91
+ │ ├── index.ts # Database connection and exports
62
92
```
63
93
64
94
---
65
95
96
+ ## Perfect for Modern Stacks 🏗️
97
+
98
+ This tool shines especially bright with modern frameworks:
99
+
100
+ ### 🚀 ** Astro Projects**
101
+
102
+ ``` bash
103
+ # In your Astro project
104
+ npx drizzle-setup
105
+ # Choose PostgreSQL + Vercel
106
+ # Boom! Database ready for your Astro app
107
+ ```
108
+
109
+ ### ⚡ ** Next.js Apps**
110
+
111
+ ``` bash
112
+ # Perfect for Next.js API routes
113
+ npx drizzle-setup
114
+ # Select your preferred database
115
+ # Start building features, not configs
116
+ ```
117
+
118
+ ### 🎯 ** Any JavaScript/TypeScript Project**
119
+
120
+ Whether it's Express, Fastify, SvelteKit, or any other framework - this CLI has got you covered.
121
+
122
+ ---
123
+
124
+ ## Real-World Impact 📈
125
+
126
+ ** Before Drizzle Setup CLI:**
127
+
128
+ - ⏰ 2-3 hours of setup time
129
+ - 🐛 Configuration errors and typos
130
+ - 📚 Constant reference to documentation
131
+ - 😫 Frustration and context switching
132
+
133
+ ** After Drizzle Setup CLI:**
134
+
135
+ - ⚡ 30 seconds to complete setup
136
+ - ✅ Zero configuration errors
137
+ - 🎯 Focus on building features
138
+ - 😊 Happy developer experience
139
+
140
+ ---
141
+
66
142
## 📄 License
67
143
68
- ## MIT License
144
+ MIT License © 2025 Drizzle Team
0 commit comments