mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-22 08:40:03 +01:00
42 lines
1.7 KiB
Markdown
42 lines
1.7 KiB
Markdown
|
# Posthog
|
||
|
|
||
|
## Running locally
|
||
|
1) Make sure you have python 3 installed `python3 --version`
|
||
|
2) Make sure you have postgres installed `brew install postgres`
|
||
|
3) Start postgres, run `brew services start postgresql`
|
||
|
4) Create Database `createdb posthog`
|
||
|
5) Navigate into the correct folder `cd posthog`
|
||
|
6) Run `python3 -m venv env` (creates virtual environment in current direction called 'env')
|
||
|
7) Run `source env/bin/activate` (activates virtual environment)
|
||
|
8) Run `pip install -r requirements.txt`
|
||
|
9) Run migrations `python manage.py migrate`
|
||
|
10) Run `python manage.py createsuperuser`
|
||
|
11) Create a username, email and password
|
||
|
12) Run `python manage.py runserver`
|
||
|
|
||
|
## Running tests
|
||
|
`bin/tests`
|
||
|
|
||
|
## Running frontend
|
||
|
|
||
|
`bin/start-frontend`
|
||
|
|
||
|
## Pulling production database locally
|
||
|
|
||
|
`bin/pull_production_db`
|
||
|
|
||
|
## Create a new branch
|
||
|
If you are working on some changes, please create a new branch, submit it to github ask for approval and when it gets approved it should automatically ship to Heroku
|
||
|
|
||
|
* Before writing anything run `git pull origin master`
|
||
|
* Then create your branch `git checkout -b %your_branch_name%` call your branch something that represents what you're planning to do
|
||
|
* When you're finished add your changes `git add .`
|
||
|
* And commit with a message `git commit -m "%your feature description%" `
|
||
|
* When pushing to github make sure you push your branch name and not master!!
|
||
|
|
||
|
## Deployment to Heroku
|
||
|
|
||
|
* `git push origin %branch_name%` (sends it to Github) - DO NOT use `git push heroku master`
|
||
|
* Be very careful running migrations by testing if they work locally first (ie run makemigrations, migrate, runserver locally when you've made database changes)
|
||
|
* James or Tim will approve your change, and will deploy it to master
|