public static function setUpBeforeClass() { require_once __DIR__ . '/User.php'; require_once __DIR__ . '/Person.php'; $conf = Setup::createConfiguration(true); $conf->setMetadataDriverImpl(new ChainedDriver([(new Configuration())->newDefaultAnnotationDriver(), new AutoMappingDriver()], [__DIR__ . '/Mappers'])); $db = function () use($conf) { return \Doctrine\ORM\EntityManager::create(['driver' => 'pdo_mysql', 'host' => '127.0.0.1', 'dbname' => 'packaged_mappers', 'user' => 'root', 'password' => ''], $conf); }; /*$db->getConnection()->getConfiguration()->setSQLLogger( new \Doctrine\DBAL\Logging\EchoSQLLogger() );*/ $sqlite = \Doctrine\ORM\EntityManager::create(['driver' => 'pdo_sqlite', 'path' => dirname(dirname(__DIR__)) . '/data/db.sqlite'], \Doctrine\ORM\Tools\Setup::createAnnotationMetadataConfiguration([dirname(__DIR__)], true)); $resolver = new \Packaged\Mappers\ConnectionResolver(); $resolver->addConnection('db', $db); $resolver->addConnection('sqlite', $sqlite); \Packaged\Mappers\BaseMapper::setConnectionResolver($resolver); User::createTable(); Person::createTable(); }
public function mormSetUp() { $this->sql->queryDB(User::createTable()); }
<?php /** This script creates a table named Users with following details * HASH key = client * RANGE Key = userId * Global secondary index = email */ include dirname(__FILE__) . "/../include.inc.php"; include dirname(__FILE__) . "/models.php"; include dirname(__FILE__) . "/configure.php"; if (User::isTableExists()) { User::deleteTable(); } User::createTable(new User());
<?php // init: 要自動載入 Pix Framework include __DIR__ . '/../../Pix/Loader.php'; set_include_path(__DIR__ . '/../../' . PATH_SEPARATOR . __DIR__ . '/models'); Pix_Loader::registerAutoload(); // 預設所有 Db 都是 sqlite Pix_Table::setDefaultDb(new Pix_Table_Db_Adapter_Sqlite(':memory:')); // 顯示 SQL query Pix_Table::enableLog(Pix_Table::LOG_QUERY); echo 'create table' . PHP_EOL; User::createTable(); Article::createTable(); echo '增加 user alice' . PHP_EOL; $user_alice = User::insert(array('name' => 'alice', 'password' => crc32('foo'))); echo '新增一篇文章' . PHP_EOL; $article = $user_alice->create_articles(array('post_at' => time(), 'title' => '我是標題', 'body' => '我是內容'));