Перейти к основному содержимому
Версия: 7.0

Windows Server

осторожно

Данная инструкция предпологает:

  • Физическое расположение Пассворка — C:\inetpub\wwwroot\passwork
  • Версия PostgreSQL >= 14.

Важно: миграция базы данных с ODM на ORM возможна только после миграции Пассворка на версию 7.

Миграция с созданием базы в PostgreSQL

Создать файл — .\.env.local:

OBJECT_MAPPER=ORM

Очистить временный кеш Пассворка:

cd "C:\inetpub\wwwroot\passwork"
php -d "memory_limit=-1" .\bin\console cache:clear

Выполнить прогрев кэша:

cd "C:\inetpub\wwwroot\passwork"
php -d "memory_limit=-1" .\bin\console cache:warmup

Изменить конфигурационный файл Пассворка — .\init\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.
  • MIGRATION_DATABASE_URL — значение параметра MONGODB_URL
  • MIGRATION_DATABASE_DB — значение параметра MONGODB_DB
  • MIGRATION_DATABASE_USERNAME — значение параметра MONGODB_USERNAME
  • MIGRATION_DATABASE_PASSWORD — значение параметра MONGODB_PASSWORD

Запуск миграции

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:

Процесс миграции базы данных Пассворка в PostgreSQL

После завершения следующие параметры в config.env больше не нужны и их можно удалить:

MIGRATION_DATABASE_URL=mongodb://mongo_host:27017
MIGRATION_DATABASE_DB=pw
MIGRATION_DATABASE_USERNAME=
MIGRATION_DATABASE_PASSWORD=

Миграция с уже созданной базой в PostgreSQL

Создать файл — .\.env.local:

OBJECT_MAPPER=ORM

Очистить временный кеш Пассворка:

cd "C:\inetpub\wwwroot\passwork"
php -d "memory_limit=-1" .\bin\console cache:clear

Выполнить прогрев кэша:

cd "C:\inetpub\wwwroot\passwork"
php -d "memory_limit=-1" .\bin\console cache:warmup

Изменить конфигурационный файл Пассворка — .\init\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.
  • MIGRATION_DATABASE_URL — значение параметра MONGODB_URL
  • MIGRATION_DATABASE_DB — значение параметра MONGODB_DB
  • MIGRATION_DATABASE_USERNAME — значение параметра MONGODB_USERNAME
  • MIGRATION_DATABASE_PASSWORD — значение параметра MONGODB_PASSWORD

Запуск миграции

cd "C:\inetpub\wwwroot\passwork"
php bin/console doctrine:migrations:migrate --no-interaction
"Y" | php bin/console database:orm:migration

Процесс миграции базы данных Пассворка в PostgreSQL:

Процесс миграции базы данных Пассворка в PostgreSQL

После завершения следующие параметры в config.env больше не нужны и их можно удалить:

MIGRATION_DATABASE_URL=mongodb://mongo_host:27017
MIGRATION_DATABASE_DB=pw
MIGRATION_DATABASE_USERNAME=
MIGRATION_DATABASE_PASSWORD=