38 lines
1021 B
Plaintext
38 lines
1021 B
Plaintext
python3 -m venv venv_migrate
|
|
source venv_migrate/bin/activate
|
|
pip install sqlalchemy psycopg2-binary dotenv
|
|
docker compose --profile pgsql up -d --build
|
|
PYTHONPATH=. python3 _tools/db/migrate_sqlite_to_pgsql.py
|
|
rm -rf venv_migrate
|
|
|
|
# reset wszystkich sekwencji w pgsql
|
|
docker exec -it zbiorka-pgsql-db psql -U zbiorki -d zbiorki
|
|
|
|
|
|
DO $$
|
|
DECLARE
|
|
r RECORD;
|
|
BEGIN
|
|
FOR r IN
|
|
SELECT
|
|
c.relname AS seq_name,
|
|
t.relname AS table_name,
|
|
a.attname AS column_name
|
|
FROM
|
|
pg_class c
|
|
JOIN
|
|
pg_depend d ON d.objid = c.oid
|
|
JOIN
|
|
pg_class t ON d.refobjid = t.oid
|
|
JOIN
|
|
pg_attribute a ON a.attrelid = t.oid AND a.attnum = d.refobjsubid
|
|
WHERE
|
|
c.relkind = 'S'
|
|
AND d.deptype = 'a'
|
|
LOOP
|
|
EXECUTE format(
|
|
'SELECT setval(%L, COALESCE((SELECT MAX(%I) FROM %I), 1), true)',
|
|
r.seq_name, r.column_name, r.table_name
|
|
);
|
|
END LOOP;
|
|
END$$; |