@@ -51,42 +51,17 @@ migrations_dir = "drizzle"
51
51
52
52
#### Step 3 - Connect Drizzle ORM to the database
53
53
54
- Create a ` index.ts ` file in the ` src ` directory and initialize the connection:
55
-
56
54
``` typescript copy
57
- import ' dotenv/config' ;
58
- import { drizzle } from ' drizzle-orm' ;
59
-
60
- async function main() {
61
- // You can specify any property from the libsql connection options
62
- const db = await drizzle (" turso" , {
63
- connection: {
64
- url: process .env .TURSO_DATABASE_URL ! ,
65
- authToken: process .env .TURSO_AUTH_TOKEN !
66
- }
67
- });
68
- }
69
-
70
- main ();
71
- ```
72
-
73
- If you need a synchronous connection, you can use our additional connection API,
74
- where you specify a driver connection and pass it to the Drizzle instance.
55
+ import { drizzle } from ' drizzle-orm/d1' ;
75
56
76
- ``` typescript copy
77
- import ' dotenv/config' ;
78
- import { drizzle } from ' drizzle-orm/libsql' ;
79
- import { createClient } from ' @libsql/client' ;
80
-
81
- async function main() {
82
- const client = createClient ({
83
- url: process .env .TURSO_DATABASE_URL ! ,
84
- authToken: process .env .TURSO_AUTH_TOKEN !
85
- });
86
- const db = drizzle (client );
57
+ export interface Env {
58
+ <BINDING_NAME >: D1Database ;
87
59
}
88
-
89
- main ();
60
+ export default {
61
+ async fetch(request : Request , env : Env ) {
62
+ const db = drizzle (env .< BINDING_NAME > );
63
+ },
64
+ };
90
65
```
91
66
92
67
#### Step 4 - Create a table
@@ -106,21 +81,39 @@ import { defineConfig } from 'drizzle-kit';
106
81
export default defineConfig ({
107
82
out: ' ./drizzle' ,
108
83
schema: ' ./src/db/schema.ts' ,
109
- dialect: ' turso' ,
84
+ dialect: ' sqlite' ,
85
+ driver: ' ' ,
110
86
dbCredentials: {
111
- url: process .env .TURSO_DATABASE_URL ,
112
- authToken: process .env .TURSO_AUTH_TOKEN ,
87
+ accountId: process .env .CLOUDFLARE_ACCOUNT_ID ! ,
88
+ databaseId: process .env .CLOUDFLARE_DATABASE_ID ! ,
89
+ token: process .env .CLOUDFLARE_D1_TOKEN ! ,
113
90
},
114
91
});
115
92
```
93
+ <Callout title = ' tips' >
94
+ You can check [ our tutorial] ( /docs/guides/d1-http-with-drizzle-kit ) on how to get env variables from CloudFlare
95
+ </Callout >
116
96
117
97
#### Step 6 - Applying changes to the database
118
98
119
99
<ApplyChanges />
120
100
121
101
#### Step 7 - Seed and Query the database
122
102
123
- <QueryTurso />
103
+ ``` typescript copy
104
+ import { drizzle } from ' drizzle-orm/d1' ;
105
+
106
+ export interface Env {
107
+ <BINDING_NAME >: D1Database ;
108
+ }
109
+ export default {
110
+ async fetch(request : Request , env : Env ) {
111
+ const db = drizzle (env .< BINDING_NAME > );
112
+ const result = await db .select ().from (users ).all ()
113
+ return Response .json (result );
114
+ },
115
+ };
116
+ ```
124
117
125
118
#### Step 8 - Run index.ts file
126
119
0 commit comments