Add websitebuilder app
This commit is contained in:
146
DATABASE_SETUP.md
Normal file
146
DATABASE_SETUP.md
Normal file
@@ -0,0 +1,146 @@
|
||||
# Database Setup
|
||||
|
||||
## Quick Start with Docker
|
||||
|
||||
The easiest way to set up the development database is using Docker Compose.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Docker installed on your machine
|
||||
- Docker Compose installed
|
||||
|
||||
### Start the Database Services
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
This will start:
|
||||
|
||||
- PostgreSQL 16 on port 5432
|
||||
- Redis 7 on port 6379
|
||||
|
||||
### Stop the Database Services
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
### View Logs
|
||||
|
||||
```bash
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
### Reset the Database
|
||||
|
||||
```bash
|
||||
docker-compose down -v
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## Manual PostgreSQL Setup
|
||||
|
||||
If you prefer to install PostgreSQL locally:
|
||||
|
||||
### Install PostgreSQL
|
||||
|
||||
**macOS (Homebrew):**
|
||||
|
||||
```bash
|
||||
brew install postgresql@16
|
||||
brew services start postgresql@16
|
||||
```
|
||||
|
||||
**Ubuntu/Debian:**
|
||||
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install postgresql-16
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
Download and install from [PostgreSQL Official Site](https://www.postgresql.org/download/windows/)
|
||||
|
||||
### Create Database
|
||||
|
||||
```bash
|
||||
# Connect to PostgreSQL
|
||||
psql -U postgres
|
||||
|
||||
# Create database and user
|
||||
CREATE DATABASE moreminimore;
|
||||
CREATE USER moreminimore WITH PASSWORD 'moreminimore_password';
|
||||
GRANT ALL PRIVILEGES ON DATABASE moreminimore TO moreminimore;
|
||||
\q
|
||||
```
|
||||
|
||||
### Update .env.local
|
||||
|
||||
Create a `.env.local` file in the project root:
|
||||
|
||||
```env
|
||||
DATABASE_URL=postgresql://moreminimore:moreminimore_password@localhost:5432/moreminimore
|
||||
REDIS_URL=redis://localhost:6379
|
||||
```
|
||||
|
||||
## Verify Connection
|
||||
|
||||
Run the following command to verify the database connection:
|
||||
|
||||
```bash
|
||||
psql postgresql://moreminimore:moreminimore_password@localhost:5432/moreminimore -c "SELECT version();"
|
||||
```
|
||||
|
||||
You should see the PostgreSQL version information.
|
||||
|
||||
## Database Migrations
|
||||
|
||||
After setting up the database, run migrations:
|
||||
|
||||
```bash
|
||||
npm run db:generate
|
||||
npm run db:migrate
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Port Already in Use
|
||||
|
||||
If port 5432 is already in use, you can change the port in `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
ports:
|
||||
- '5433:5432' # Use 5433 instead
|
||||
```
|
||||
|
||||
Then update your `.env.local`:
|
||||
|
||||
```env
|
||||
DATABASE_URL=postgresql://moreminimore:moreminimore_password@localhost:5433/moreminimore
|
||||
```
|
||||
|
||||
### Connection Refused
|
||||
|
||||
Make sure the PostgreSQL service is running:
|
||||
|
||||
```bash
|
||||
docker-compose ps
|
||||
```
|
||||
|
||||
If it's not running, start it:
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Reset Database
|
||||
|
||||
To completely reset the database:
|
||||
|
||||
```bash
|
||||
docker-compose down -v
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
This will delete all data and recreate the database from scratch.
|
||||
Reference in New Issue
Block a user