#mysql #drupal #cron #couchbase #php-5.6
#mysql #drupal #cron #couchbase #php-5.6
Вопрос:
Я пытаюсь выполнить синхронизацию с сервера Couchbase на MySQL с помощью Drupal cronjob
Я пытаюсь синхронизировать документы из Couchbase в MySQL, но я не могу этого сделать, вышеуказанная операция выполняется с cronjob (Drupal)
function drupal_cron()
{
$cluster = new CouchbaseCluster("couchbase://localhost");
$cluster->authenticateAs('Admin', 'password');
$bucket = $cluster->openBucket("default");
$query = CouchbaseViewQuery::from('drupal', 'id')->reduce(false)->order(CouchbaseViewQuery::ORDER_DESCENDING);
var_dump($query); // getting data till here
$results = $bucket->query($query); // not going past this
var_dump($results); // no data here
foreach($results->rows as $row) //not going in the foreach loop because no data in $results
{
$doc_id = $row->id;
$doc = $bucket->get($doc_id);
// $doc = json_decode($doc->value);
$doc = $doc->value;
if ($doc->drupal_status == 'pending')
{
sync_code_here
}
}
}
Вывод var_dump($ query)
object(CouchbaseViewQuery)#108 (3)
{
["designDocumentName"]=> string(8) "drupal"
["viewName"]=> string(2) "id"
["options"]=> array(2)
{
["reduce"]=> string(5) "false"
["descending"]=> string(4) "true"
}
}
Пожалуйста, помогите
Как мне это исправить?
Ответ №1:
Мне нужно было создать новый документ дизайна под названием «Drupal» и новое представление под названием «id» на сервере Couchbase, чтобы сопоставить и подтвердить это
$query = CouchbaseViewQuery::from('drupal', 'id')->reduce(false)->order(CouchbaseViewQuery::ORDER_DESCENDING);
После этого все заработало как по волшебству.