Миграция DBTNG: SQLite ->PostgreSQL завершается ошибкой из-за пользовательских полей


Я пытаюсь перенести веб-сайт из программы разработки, которая использует SQLite в качестве серверной части базы данных, в производственную среду, где PostgreSQL используется в качестве СУБД.

Мои исследования до сих пор привели меня к модулю DBTNG Migrator, который обещает перенести сайт Drupal в/из любой системы баз данных, поддерживаемой уровнем абстракции.

Это конфигурация базы данных в моем settings.php:

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'drupal',
      'username' => 'db_user',
      'password' => 'db_pass',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'pgsql',
      'prefix' => '',
    ),
  ),
);

$databases['sqlite']['default'] = array (
  'database' => 'sites/default/files/site.ht.sqlite',
  'driver' => 'sqlite',
  'prefix' => '',
);

Обе базы данных корректно отображаются в пользовательский интерфейс миграции DTNG. Однако, когда я запускаю проверку миграции для SQLite ->PostgreSQL, я получаю следующее сообщение об ошибке:

field_data_field_custom does not existing in default

field_custom это настраиваемое поле, которое я определил на сайте разработки.

Есть ли способ перенести мою полную настройку drupal, включая пользовательские поля и типы контента, в PostgreSQL с помощью DBTNG Migrator?

Author: Chapabu, 2012-10-23

1 answers

Чтобы ответить на мой собственный вопрос:

Миграция должна выполняться в пустой базе данных. Таким образом, все будет успешно воспроизведено.

 2
Author: jbaiter, 2012-10-23 16:11:19