Example #1
0
 function setCommand($command)
 {
     $command = parent::setCommand($command);
     $command->getQuery()->getResource()->setModel($this->getModel());
 }
Example #2
0
<?php

use DBAL\Data;
use DBAL\XML;
$dataSource = new Data\Source();
$dataAdapter = new Data\Adapter();
$params = array('path' => 'tests\\test.xml');
$dataAdapter->View = new XML\View($params);
$dataAdapter->Fill($dataSource);
var_dump($dataSource->Data);
Example #3
0
<?php

use DBAL\Data;
use DBAL\XML;
use DBAL\XML\Data\Tree;
$dataSource = new Data\Source();
$dataAdapter = new Data\Adapter();
$node = new Tree\Node('test');
$subnode = new Tree\Node('subnode', array('test' => 'someValue', 'attr' => 2), $node);
$dataSource->add($node);
$params = array('path' => 'tests\\test.xml');
$dataAdapter->View = new XML\View($params);
$dataAdapter->Update($dataSource);
var_dump($dataSource);
Example #4
0
// MODEL BUILDER TEST
// Model builder modifies tables and column definitions in the database
/* EXAMPLE XML ENTITY

<entity name="Clothing" type="Product">
    <attribute name="Color" type="string">None</attribute>
</entity>
 
*/
// ESTABLISH DATABASE
$driver = new DB\Driver\MySQL();
$database = new DB\Database($driver);
$core->setDatabase($database);
// DATA COMPONENTS
$source = new DB\Data\Source();
$adapter = new DB\Data\Adapter();
// RETRIEVE XML ENTITY DATA
$adapter->View = new DB\XML\View\Entity();
$xmlEntities = $adapter->Fill($source);
// RETRIEVE SQL ENTITY DATA
$adapter->View = new DB\SQL\View\Entity();
$sqlEntities = $adapter->Fill($source);
// CREATE MODELER
$query = new DB\SQL\Query();
$query->setBuilder(new DBAL\SQL\Modeler(array()));
// SPECIFY THE ENTITIES TO COMPARE
$query->build()->update($sqlEntities)->set($xmlEntities);
// CREATES/ALTERS/DROP SQL TABLES OR COLUMNS
// COMPARE XML TO CURRENT SCHEMA AND GENERATE DIFFERENCE
// GENERATE TRANSACTION TO UPDATE SCHEMA BASED ON DIFFERENCES
$query();