mirror of
https://github.com/utopia-os/utopia-ui.git
synced 2026-04-06 01:25:33 +00:00
feat(backend): database scripts for tasks required regularly (#694)
This commit is contained in:
parent
529ee8cc81
commit
ab515c20ad
@ -54,48 +54,9 @@ docker exec -t utopia-map-database-1 pg_dumpall -c -U directus > dump.sql
|
|||||||
|
|
||||||
Assuming you run docker-compose with the default postgress credentials and have the dump in cwd as ./dump.sql, execute:
|
Assuming you run docker-compose with the default postgress credentials and have the dump in cwd as ./dump.sql, execute:
|
||||||
|
|
||||||
Find current schema name:
|
Drop database:
|
||||||
```
|
```
|
||||||
echo "SELECT CURRENT_SCHEMA, CURRENT_SCHEMA();" | docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=directus psql --username directus"
|
docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=directus psql -v ON_ERROR_STOP=1 --username directus directus" < ./backend/scripts/drop-database.sql
|
||||||
```
|
|
||||||
> current_schema | current_schema
|
|
||||||
> ----------------+----------------
|
|
||||||
> public | public
|
|
||||||
> (1 row)
|
|
||||||
|
|
||||||
Drop schemata (loses all data):
|
|
||||||
```
|
|
||||||
echo "DROP SCHEMA public CASCADE;" | docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=directus psql --username directus"
|
|
||||||
|
|
||||||
echo "DROP SCHEMA tiger CASCADE;" | docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=directus psql --username directus"
|
|
||||||
|
|
||||||
echo "DROP SCHEMA tiger_data CASCADE;" | docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=directus psql --username directus"
|
|
||||||
|
|
||||||
echo "DROP SCHEMA topology CASCADE;" | docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=directus psql --username directus"
|
|
||||||
```
|
|
||||||
> drop cascades to table ...
|
|
||||||
> ...
|
|
||||||
> DROP SCHEMA
|
|
||||||
|
|
||||||
Create the public schema again:
|
|
||||||
```
|
|
||||||
echo "CREATE SCHEMA public;" | docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=directus psql --username directus"
|
|
||||||
```
|
|
||||||
|
|
||||||
Verify schemata:
|
|
||||||
```
|
|
||||||
echo "select schema_name from information_schema.schemata;" | docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=directus psql --username directus"
|
|
||||||
```
|
|
||||||
|
|
||||||
Verify database is empty:
|
|
||||||
```
|
|
||||||
echo "\dt" | docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=directus psql --username directus directus"
|
|
||||||
```
|
|
||||||
> Did not find any relations.
|
|
||||||
|
|
||||||
Create admin role & grant it:
|
|
||||||
```
|
|
||||||
echo "CREATE ROLE admin;" | docker exec -i utopia-map-database-1 /bin/bash -c "PGPASSWORD=directus psql --username directus directus"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Apply dump:
|
Apply dump:
|
||||||
|
|||||||
8
backend/scripts/drop-database.sql
Normal file
8
backend/scripts/drop-database.sql
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
-- CAUTION: THIS SCRIPT DROPS ALL DATA IN YOUR DATABASE!
|
||||||
|
DROP SCHEMA public CASCADE;
|
||||||
|
DROP SCHEMA tiger CASCADE;
|
||||||
|
DROP SCHEMA tiger_data CASCADE;
|
||||||
|
DROP SCHEMA topology CASCADE;
|
||||||
|
|
||||||
|
CREATE SCHEMA public;
|
||||||
|
CREATE ROLE admin;
|
||||||
3
backend/scripts/update-user-passwords.sql
Normal file
3
backend/scripts/update-user-passwords.sql
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
-- Selects passwords and emails and creates a script to update user passwords in a database.
|
||||||
|
-- This is used to port users between instances as directus cannot import user passwords
|
||||||
|
SELECT CONCAT('UPDATE public.directus_users SET password=''', password, ''' WHERE email=''', email, ''';') FROM public.directus_users;
|
||||||
Loading…
x
Reference in New Issue
Block a user