Back to Drizzle Orm

Get Started with Drizzle and PostgreSQL in existing project

src/content/docs/get-started/postgresql-existing.mdx

latest2.9 KB
Original Source

import Tab from '@mdx/Tab.astro'; import Tabs from '@mdx/Tabs.astro'; import Npm from "@mdx/Npm.astro"; import Callout from '@mdx/Callout.astro'; import Steps from '@mdx/Steps.astro'; import AnchorCards from '@mdx/AnchorCards.astro'; import Breadcrumbs from '@mdx/Breadcrumbs.astro'; import CodeTabs from "@mdx/CodeTabs.astro"; import Prerequisites from "@mdx/Prerequisites.astro"; import IntrospectPostgreSQL from '@mdx/get-started/postgresql/IntrospectPostgreSQL.mdx'; import FileStructure from '@mdx/get-started/FileStructure.mdx'; import InstallPackages from '@mdx/get-started/InstallPackages.mdx'; import SetupConfig from '@mdx/get-started/SetupConfig.mdx'; import SetupEnv from '@mdx/get-started/SetupEnv.mdx'; import TransferCode from '@mdx/get-started/TransferCode.mdx'; import ApplyChanges from '@mdx/get-started/ApplyChanges.mdx'; import RunFile from '@mdx/get-started/RunFile.mdx'; import ConnectPostgreSQL from '@mdx/get-started/postgresql/ConnectPostgreSQL.mdx' import QueryDatabase from '@mdx/get-started/QueryDatabase.mdx'; import QueryDatabaseUpdated from '@mdx/get-started/QueryDatabaseUpdated.mdx'; import UpdateSchema from '@mdx/get-started/postgresql/UpdateSchema.mdx';

<Breadcrumbs/>

Get Started with Drizzle and PostgreSQL in existing project

<Prerequisites> - **dotenv** - package for managing environment variables - [read here](https://www.npmjs.com/package/dotenv) - **tsx** - package for running TypeScript files - [read here](https://tsx.is/) - **node-postgres** - package for querying your PostgreSQL database - [read here](https://node-postgres.com/) </Prerequisites> <FileStructure/>

Step 1 - Install node-postgres package

<InstallPackages lib='pg' devlib=' @types/pg'/>

Step 2 - Setup connection variables

<SetupEnv env_variable='DATABASE_URL' /> <Callout title='tips'> If you don't have a PostgreSQL database yet and want to create one for testing, you can use our guide on how to set up PostgreSQL in Docker.

The PostgreSQL in Docker guide is available here. Go set it up, generate a database URL (explained in the guide), and come back for the next steps </Callout>

Step 3 - Setup Drizzle config file

<SetupConfig dialect='postgresql' env_variable='DATABASE_URL'/>

Step 4 - Introspect your database

<IntrospectPostgreSQL/>

Step 5 - Transfer code to your actual schema file

<TransferCode/>

Step 6 - Connect Drizzle ORM to the database

<ConnectPostgreSQL/>

Step 7 - Query the database

<QueryDatabase dialect='node-postgres' env_variable='DATABASE_URL'/>

Step 8 - Run index.ts file

<RunFile/>

Step 9 - Update your table schema (optional)

<UpdateSchema/>

Step 10 - Applying changes to the database (optional)

<ApplyChanges />

Step 11 - Query the database with a new field (optional)

<QueryDatabaseUpdated dialect='node-postgres' env_variable='DATABASE_URL' />