Windows Server
осторожно
Данная инструкция предпологает:
- Физическое расположение Пассворка —
C:\inetpub\wwwroot\passwork
- Версия PostgreSQL >= 14.
Важно: миграция базы данных с ODM на ORM возможна только после миграции Пассворка на версию 7.
Миграция с созданием базы в PostgreSQL
Создать файл — .\.env.local:
- .env
OBJECT_MAPPER=ORM
Очистить временный кеш Пассворка:
- PowerShell
cd "C:\inetpub\wwwroot\passwork"
php -d "memory_limit=-1" .\bin\console cache:clear
Выполнить прогрев кэша:
- PowerShell
cd "C:\inetpub\wwwroot\passwork"
php -d "memory_limit=-1" .\bin\console cache:warmup
Изменить конфигурационный файл Пассворка — .\init\config.env:
- config.env
APP_URL=https://your_host
DATABASE_URL=postgresql://username:password@pgsql_host:5432/pw?serverVersion=16&charset=utf8
MIGRATION_DATABASE_URL=mongodb://mongo_host:27017
MIGRATION_DATABASE_DB=pw
MIGRATION_DATABASE_USERNAME=
MIGRATION_DATABASE_PASSWORD=
Описание параметров
- DATABASE_URL — строка подключения к PostgreSQL серверу
- Если PostgreSQL установлен на отдельном сервере:
- В конфигурационном файле postgresql.conf нужно изменить параметр
listen_addresses
; - В конфигурационном файле pg_hba.conf нужно прописать возможность подключения Пассворка с помощью
postgres
пользователя к PgSQL.
- В конфигурационном файле postgresql.conf нужно изменить параметр
- MIGRATION_DATABASE_URL — значение параметра
MONGODB_URL
- MIGRATION_DATABASE_DB — значение параметра
MONGODB_DB
- MIGRATION_DATABASE_USERNAME — значение параметра
MONGODB_USERNAME
- MIGRATION_DATABASE_PASSWORD — значение параметра
MONGODB_PASSWORD
Запуск миграции
- PowerShell
cd "C:\inetpub\wwwroot\passwork"
php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate --no-interaction
"Y" | php bin/console database:orm:migration
Процесс миграции базы данных Пассворка в PostgreSQL:

После завершения следующие параметры в config.env больше не нужны и их можно удалить:
- config.env
MIGRATION_DATABASE_URL=mongodb://mongo_host:27017
MIGRATION_DATABASE_DB=pw
MIGRATION_DATABASE_USERNAME=
MIGRATION_DATABASE_PASSWORD=
Миграция с уже созданной базой в PostgreSQL
Создать файл — .\.env.local:
- .env
OBJECT_MAPPER=ORM
Очистить временный кеш Пассворка:
- PowerShell
cd "C:\inetpub\wwwroot\passwork"
php -d "memory_limit=-1" .\bin\console cache:clear
Выполнить прогрев кэша:
- PowerShell
cd "C:\inetpub\wwwroot\passwork"
php -d "memory_limit=-1" .\bin\console cache:warmup
Изменить конфигурационный файл Пассворка — .\init\config.env:
- config.env
APP_URL=https://your_host
DATABASE_URL=postgresql://username:password@pgsql_host:5432/pw?serverVersion=16&charset=utf8
MIGRATION_DATABASE_URL=mongodb://mongo_host:27017
MIGRATION_DATABASE_DB=pw
MIGRATION_DATABASE_USERNAME=
MIGRATION_DATABASE_PASSWORD=
Описание параметров
- DATABASE_URL — строка подключения к PostgreSQL серверу
- Если PostgreSQL установлен на отдельном сервере:
- В конфигурационном файле postgresql.conf нужно изменить параметр
listen_addresses
; - В конфигурационном файле pg_hba.conf нужно прописать возможность подключения Пассворка с помощью
username
пользователя к PgSQL.
- В конфигурационном файле postgresql.conf нужно изменить параметр
- MIGRATION_DATABASE_URL — значение параметра
MONGODB_URL
- MIGRATION_DATABASE_DB — значение параметра
MONGODB_DB
- MIGRATION_DATABASE_USERNAME — значение параметра
MONGODB_USERNAME
- MIGRATION_DATABASE_PASSWORD — значение параметра
MONGODB_PASSWORD
Запуск миграции
- PowerShell
cd "C:\inetpub\wwwroot\passwork"
php bin/console doctrine:migrations:migrate --no-interaction
"Y" | php bin/console database:orm:migration
Процесс миграции базы данных Пассворка в PostgreSQL:

После завершения следующие параметры в config.env больше не нужны и их можно удалить:
- config.env
MIGRATION_DATABASE_URL=mongodb://mongo_host:27017
MIGRATION_DATABASE_DB=pw
MIGRATION_DATABASE_USERNAME=
MIGRATION_DATABASE_PASSWORD=