У меня есть скрипт PHP, который экспортирует данные из таблицы SQL в содержимое Drupal. Я хотел бы запланировать задание как задачу windows и выполнить следующие шаги:
- Мой PHP файл содержит следующий код:
<?php
namespace Drupal\Import\Commands;
use Drush\Commands\DrushCommands;
use Drupal\node\Entity\Node;
class ImportCommands extends DrushCommands
{
public function loadData()
{
$tx = \Drupal::database()->startTransaction();
try
{
$query_result = \Drupal::entityQuery('node')
->condition('type', 'test_mod')
->execute();
entity_delete_multiple('node', $query_result);
$database = \Drupal::database();
$result = $database->query("SELECT * FROM my_sql_table");
$records = $result->fetchAll();
foreach($records as $key => $record) {
$node = Node::create(['type' => 'test_mod']);
$node->set('title', $key);
$node->set('field_IDVal', $record->ID);
$node->set('field_name', $record->Name);
$node->status = 1;
$node->enforceIsNew();
$node->save();
}
}
catch (Exception $e) {
$tx->rollBack();
// log/report failure
}
// $tx->commit();
}
}
Создан файл .bat и запрос ниже:
вызов C: \ MyProj \ web \ Commands \ php .exe -f C: \ MyProj \ web \ Команды \ ExportCommands. php
Создана задача windows для связи с этим файлом.
Все, что я вижу, это 0x1 с успешным заданием. Любая помощь, чтобы сделать эту работу?!
Ожидаемое поведение: я хочу создать задачу wndows, которая вызывает этот PHP штраф, и команда в файле загружает данные из таблицы SQL в Drupal.
Прямо сейчас я запускаю файл, перейдя в commandprompt и делаю: dru sh MyProj: loaddata
Любая помощь?!