-
Notifications
You must be signed in to change notification settings - Fork 4
Home
npm | yarn | pipenv |
---|---|---|
npm outdated |
yarn outdated |
pipenv update --outdated |
npm install/uninstall/update [package | package@version] , -D
|
yarn add/remove/upgrade [package | package@version] , --dev , yarn upgrade-interactive [--latest]
|
pipenv install/uninstall/update [ | pkg] , --dev přepínač |
npm install |
yarn install |
pipenv install , --dev přepínač |
--- | --- | aktivace virt. prostředí: pipenv shell
|
pro simulaci casove prodlevy pozadavku ve view v pythonu lze pouzit:
def get_queryset(self):
import time
time.sleep(10)
return AttendanceState.objects.all()
-
vytvoření uživatele:
heroku run python manage.py createsuperuser --settings=up.settings.production -a uspesnyprvnacek
-
připojení k DB z externí aplikace - je potřeba přidat do URI na konec
?sslmode=require
-
kopírování DB mezi aplikacemi:
-
staging → testing:
heroku pg:copy uspesnyprvnacek-staging::DATABASE_URL DATABASE_URL --confirm uspesnyprvnacek-testing -a uspesnyprvnacek-testing
-
staging → testing:
-
naplánování pravidelné zálohy DB:
heroku pg:backups:schedule DATABASE_URL --at "03:00 Europe/Prague" -a uspesnyprvnacek
-
výpis záloh:
heroku pg:backups -a uspesnyprvnacek
-
výpis záloh:
-
upgrade PostgreSQL: (heroku docs)
všechny příkazy nutné doplnit
-a uspesnyprvnacek-testing/uspesnyprvnacek-staging/uspesnyprvnacek
- vytvoření nové DB (trvá několik minut):
heroku addons:create heroku-postgresql:hobby-dev
- maintanance mode aktivace (aby nikdo nic nezapsal):
heroku maintenance:on
- přenos dat ze staré (
DATABASE_URL
) do nové DB (HEROKU_POSTGRESQL_COLOR
):heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_COLOR
- nastavení nové DB jako primární:
heroku pg:promote HEROKU_POSTGRESQL_COLOR
- deaktivace maintanance mode:
heroku maintenance:off
- smazání staré DB:
heroku addons:destroy HEROKU_POSTGRESQL_LAVENDER
- vytvoření nové DB (trvá několik minut):
-
CZ řazení - viz heroku dokumentace a příslušný soubor s migrací
fly launch
nedeployovat
nastavit secrety pres fly secrets set DDD=dd
fly postgres create
nastavit "xxxx-db" nazev
flyctl postgres attach --app <app-name> <postgres-app-name>
fly ssh console -a uspesnyprvnacek-test-db
cat >> sampledata.psql << EOF
vlozit obsah souboru z repa zde a napsat newline a EOF
psql "psql url vcetne db" -f sampledata.psql
pg_dump --no-acl --no-owner -d "$$$heroku PSQL URL vcetne DB$$$" | sed 's/libc/icu/g' | sed 's/\.utf8//g' | psql -d "$$$fly.io PSQL URL vcetne DB$$$"
fly auth logout/login
fly ssh console -a uspesnyprvnacek-test, zdrojaky v /usr/src/up-admin
fly secrets set XY=z / fly secrets unset XY
V případě problémů při UI testování lze pořídit screenshot
import time
filename = time.strftime("%Y%m%d-%H%M%S")
context.browser.save_screenshot(f'{filename}.png')
Ten se pak dá ve vzdáleném terminálu zobrazit díky TerminalImageViewer.
- v souboru
.env
nastavímeMANUAL_PRODUCTION=True
-
yarn install
(z kořenového adresáře – automaticky se pak provede i build) - přes
manage.py
spustit:collectstatic --settings=up.settings.production --noinput
runserver --settings=up.settings.production 0.0.0.0:8000
Poznámka: otevření aplikace na jiném zařízení v síti
Aplikace je připravena také na zobrazení z dalších zařízeních v síti (např. z mobilního telefonu). Obvykle je potřeba provést tyto 2 kroky:
- povolit Python a Node.js ve firewallu (např. na chvíli aktivovat interaktivní režim ESETu),
- na mobilním zařízení zadat privátní IP adresu počítače, na kterém běží server (zobrazí se např. při spouštění webpack-dev-serveru)
⚠️ Pro připojení je výhodnější použít hostname, pokud se zařízení se serverem např. přepojí z Wi-Fi na Etherent, musela by se samozřejmě měnit v telefonu IP adresa (webpack-dev-server není potřeba restartovat, protože je závislý na hostname).
⚠️ Je potřeba mít vPATH
vloženoC:\Program Files\PostgreSQL\11\bin
.
- export dat aplikace z DB:
> pg_dump --column-inserts --table "^admin_*" --data-only --dbname up -U postgres > sample_data.pgsql
- smazání tabulek s daty aplikace v DB:
> psql -U postgres --dbname up -c "TRUNCATE TABLE admin_application, admin_course, admin_group, admin_lecture, admin_membership, admin_client, admin_attendancestate, admin_attendance CASCADE;"
- import dat aplikace do DB:
> psql --dbname up -U postgres -f scripts/sql/sample_data.pgsql
- zobrazení obsahu
zip
u:unzip -l frontend.zip
- skrytí klientů v aplikaci - v js konzoli zavolat
toggleGdpr()
- hledání dead code vulture:
vulture --ignore-names step_impl,login_logout,applications,attendancestates,clients,courses,groups,helpers,lectures tests\api_steps\xxx.py
- smazání cache eslint:
rm -rf node_modules/.cache/eslint-loader
- stresstest - opakovaně spustit ve skriptu:
pipenv run python manage.py behave --stage=ui --format=rerun --tags=test