Как построить MigrateSQLMap в сценарии составного ключа
Как мы можем создать экземпляр MigrateSQLMap, если таблица имеет составной первичный ключ?
1 ответ:
Поскольку MigrateSQLMap принимает массив, вы можете задать несколько полей в определении источника:
// The source ID here is the one retrieved from each data item in the XML file, and // used to identify specific items $this->map = new MigrateSQLMap($this->machineName, array( 'vendor_code' => array( 'type' => 'varchar', 'length' => 250, 'not null' => TRUE, ), 'client_code' => array( 'type' => 'varchar', 'length' => 250, 'not null' => TRUE, ), ), MigrateDestinationEntityAPI::getKeySchema('vendor') );
В приведенном выше коде* vendor_code *и* client_code * являются компонентами составного ключа.