当前位置: 首页>>代码示例>>PHP>>正文


PHP ezcDbSchema::createFromFile方法代码示例

本文整理汇总了PHP中ezcDbSchema::createFromFile方法的典型用法代码示例。如果您正苦于以下问题:PHP ezcDbSchema::createFromFile方法的具体用法?PHP ezcDbSchema::createFromFile怎么用?PHP ezcDbSchema::createFromFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ezcDbSchema的用法示例。


在下文中一共展示了ezcDbSchema::createFromFile方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: setupTable

 /**
  * Loads the schema from file into the database.
  */
 public static function setupTable()
 {
     $db = ezcDbInstance::get();
     // Load schema
     $schema = ezcDbSchema::createFromFile('array', dirname(__FILE__) . '/table.dba');
     $schema->writeToDb($db);
 }
开发者ID:bmdevel,项目名称:ezc,代码行数:10,代码来源:table_class.php

示例2: testPhpArray

 public function testPhpArray()
 {
     $fileName = $this->tempDir . '/php_array_write_result.php';
     $schema = new ezcDbSchema(self::getSchema());
     $schema->writeToFile('array', $fileName);
     $newSchema = ezcDbSchema::createFromFile('array', $fileName);
     self::assertEquals($schema, $newSchema);
 }
开发者ID:jacomyma,项目名称:GEXF-Atlas,代码行数:8,代码来源:php_array_test.php

示例3: getEmptyDb

 protected function getEmptyDb()
 {
     $schema = ezcDbSchema::createFromFile('xml', TESTPATH . '../src/schema.xml');
     //        $db = ezcDbFactory::create("sqlite://:memory:");
     $db = ezcDbFactory::create("sqlite:///home/ymc-toko/sqlite");
     $schema->writeToDb($db);
     return $db;
 }
开发者ID:jou,项目名称:ymc-components,代码行数:8,代码来源:definition_storage_database.php

示例4: setUp

 protected function setUp()
 {
     $this->xmlSchema = ezcDbSchema::createFromFile('xml', dirname(__FILE__) . '/testfiles/bug8900.xml');
     // get the tables schema from the database schema
     // BY REFERENCE! - otherwise new/deleted tables are NOT updated
     // in the schema
     $this->schema =& $this->xmlSchema->getSchema();
 }
开发者ID:bmdevel,项目名称:ezc,代码行数:8,代码来源:schema_test.php

示例5: testCreateFromFileNonExisting

 public function testCreateFromFileNonExisting()
 {
     try {
         ezcDbSchema::createFromFile('xml', 'testfiles/isnt-here.php');
         self::fail("Expected exception not thrown");
     } catch (Exception $e) {
         self::assertEquals("The schema file 'testfiles/isnt-here.php' could not be found.", $e->getMessage());
     }
 }
开发者ID:bmdevel,项目名称:ezc,代码行数:9,代码来源:xml_diff_test.php

示例6: testParsingTrueFalse

 public function testParsingTrueFalse()
 {
     $fileName = realpath($this->testFilesDir . 'bug10365.xml');
     $schema = ezcDbSchema::createFromFile('xml', $fileName)->getSchema();
     self::assertEquals($schema['bug10365']->fields['field_notnull']->notNull, true);
     self::assertEquals($schema['bug10365']->fields['field_notnull']->autoIncrement, true);
     self::assertEquals($schema['bug10365']->fields['field_notnull']->unsigned, true);
     self::assertEquals($schema['bug10365']->fields['field_null']->notNull, false);
     self::assertEquals($schema['bug10365']->fields['field_null']->autoIncrement, false);
     self::assertEquals($schema['bug10365']->fields['field_null']->unsigned, false);
 }
开发者ID:bmdevel,项目名称:ezc,代码行数:11,代码来源:xml_test.php

示例7: setupTable

 /**
  * Loads the schema from file into the database.
  */
 public static function setupTable()
 {
     $db = ezcDbInstance::get();
     // Load schema
     $schema = ezcDbSchema::createFromFile('array', dirname(__FILE__) . '/persistent_test_object.dba');
     $schema->writeToDb($db);
     // create sequence if it is a postgres database
     if ($db->getName() == 'pgsql') {
         $db->exec('CREATE SEQUENCE PO_test_seq START 5');
     }
 }
开发者ID:bmdevel,项目名称:ezc,代码行数:14,代码来源:native_generator_test.php

示例8: setUp

 public function setUp()
 {
     $_GET = null;
     $_SERVER = self::$server;
     try {
         $this->db = ezcDbInstance::get();
         $schema = ezcDbSchema::createFromFile('array', dirname(__FILE__) . '/../../../docs/tutorial/openid_db_store_schema.dba');
         $schema->writeToDb($this->db);
     } catch (Exception $e) {
         $this->markTestSkipped("You must provide a database to runtests.php: " . $e->getMessage());
     }
 }
开发者ID:bmdevel,项目名称:ezc,代码行数:12,代码来源:openid_db_store_test.php

示例9: setUp

 protected function setUp()
 {
     parent::setUp();
     try {
         $this->db = ezcDbInstance::get();
         $this->cleanupTables($this->db);
         $schema = ezcDbSchema::createFromFile('array', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'workflow.dba');
         $schema->writeToDb($this->db);
         $this->dbStorage = new ezcWorkflowDatabaseDefinitionStorage($this->db);
     } catch (Exception $e) {
         $this->markTestSkipped('No test database has been configured: ' . $e->getMessage());
     }
 }
开发者ID:jacomyma,项目名称:GEXF-Atlas,代码行数:13,代码来源:case.php

示例10: setUp

 protected function setUp()
 {
     $tables = array('user', 'cache_templates', 'cache_values');
     // Get the DB instance
     try {
         $db = ezcDbInstance::get();
     } catch (Exception $e) {
         $this->markTestSkipped('No database handler defined');
     }
     $this->basePath = realpath(dirname(__FILE__)) . '/';
     // Setup the template engine
     $config = ezcTemplateConfiguration::getInstance();
     $this->tempDir = $config->compilePath = $this->createTempDir("ezcTemplate_");
     $config->templatePath = $this->basePath . 'templates/';
     $config->disableCache = false;
     $config->cacheManager = new DbCacheManager();
     // Create tables.
     foreach ($tables as $table) {
         try {
             $db->exec("DROP TABLE {$table}");
         } catch (Exception $e) {
         }
         // eat
     }
     $schema = ezcDbSchema::createFromFile('xml', dirname(__FILE__) . '/cache-manager-schema.xml');
     $schema->writeToDb($db);
     // insert some data
     $iq = $db->createInsertQuery();
     $s = $iq->insertInto($db->quoteIdentifier('user'))->set($db->quoteIdentifier('id'), 1)->set($db->quoteIdentifier('name'), $iq->bindValue('Raymond'))->set($db->quoteIdentifier('nickname'), $iq->bindValue('sunRay'))->prepare();
     $s->execute();
     $iq = $db->createInsertQuery();
     $s = $iq->insertInto($db->quoteIdentifier('user'))->set($db->quoteIdentifier('id'), 2)->set($db->quoteIdentifier('name'), $iq->bindValue('Derick'))->set($db->quoteIdentifier('nickname'), $iq->bindValue('Tiger'))->prepare();
     $s->execute();
     $iq = $db->createInsertQuery();
     $s = $iq->insertInto($db->quoteIdentifier('user'))->set($db->quoteIdentifier('id'), 3)->set($db->quoteIdentifier('name'), $iq->bindValue('Jan'))->set($db->quoteIdentifier('nickname'), $iq->bindValue('Amos'))->prepare();
     $s->execute();
 }
开发者ID:zetacomponents,项目名称:template,代码行数:37,代码来源:cache_manager_test.php

示例11: getSchema

 /**
  * Returns the schema reader instance for the given schema path and format. 
  * 
  * @return object The schema reader.
  */
 protected function getSchema()
 {
     $schema = null;
     $readerClass = ezcDbSchemaHandlerManager::getReaderByFormat($this->schemaFormat);
     $reader = new $readerClass();
     switch (true) {
         case $reader instanceof ezcDbSchemaDbReader:
             $db = ezcDbFactory::create($this->pathSchema);
             $schema = ezcDbSchema::createFromDb($db);
             break;
         case $reader instanceof ezcDbSchemaFileReader:
             $schema = ezcDbSchema::createFromFile($this->schemaFormat, $this->pathSchema);
             break;
         default:
             $this->raiseError("Reader class not supported: '{$readerClass}'.");
             break;
     }
     return $schema;
 }
开发者ID:jpic,项目名称:ezc-framework-apps,代码行数:24,代码来源:tool.php

示例12: testValidFromDb

 public function testValidFromDb()
 {
     $type = ezcTestSettings::getInstance()->db->phptype;
     $dsn = ezcTestSettings::getInstance()->db->dsn;
     if ($dsn === null || $type === null || $dsn === "sqlite://:memory:") {
         $this->markTestSkipped("DSN or database type not set or DSN not supported.");
     }
     // setup this test
     $destination = $this->createTempDir("PersObjDatSchem");
     $db = ezcDbFactory::create($dsn);
     $fileSource = dirname(__FILE__) . "/data/webbuilder.schema.xml";
     $schema = ezcDbSchema::createFromFile("xml", $fileSource);
     $schema->writeToDb($db);
     // real test
     $res = `php PersistentObjectDatabaseSchemaTiein/src/rungenerator.php -f "{$type}" -s "{$dsn}" "{$destination}"`;
     $this->assertEquals(1, preg_match('(PersistentObject\\sdefinition\\ssuccessfully\\swritten\\sto)s', $res), 'No success message found in generated output.');
     foreach (glob(dirname(__FILE__) . "/data/definition_only/definitions/*.php") as $file) {
         $this->assertEquals(file_get_contents($file), file_get_contents($destination . "/" . basename($file)), "Geneator generated an invalid persistent object definition file.");
     }
     $this->removeTempDir();
 }
开发者ID:jacomyma,项目名称:GEXF-Atlas,代码行数:21,代码来源:test.php

示例13: run

 /**
  * Run the generator.
  * Process the given options and generate a PersistentObject definition from it.
  * 
  * @return void
  */
 public function run()
 {
     try {
         $this->input->process();
     } catch (ezcConsoleException $e) {
         $this->raiseError("Error while processing your options: {$e->getMessage()}", true);
     }
     if ($this->input->getOption('h')->value === true) {
         $this->output->outputText($this->input->getHelpText(ezcPersistentObjectSchemaGenerator::PROGRAM_DESCRIPTION, 80, true), "help");
         exit(0);
     }
     $defDir = $this->input->argumentDefinition["def dir"]->value;
     $classDir = $this->input->argumentDefinition["class dir"]->value;
     $schema = null;
     try {
         $readerClass = ezcDbSchemaHandlerManager::getReaderByFormat($this->input->getOption("format")->value);
         $reader = new $readerClass();
         switch (true) {
             case $reader instanceof ezcDbSchemaDbReader:
                 $db = ezcDbFactory::create($this->input->getOption("source")->value);
                 $schema = ezcDbSchema::createFromDb($db);
                 break;
             case $reader instanceof ezcDbSchemaFileReader:
                 $schema = ezcDbSchema::createFromFile($this->input->getOption("format")->value, $this->input->getOption("source")->value);
                 break;
             default:
                 $this->raiseError("Reader class not supported: '{$readerClass}'.");
                 break;
         }
     } catch (Exception $e) {
         $this->raiseError("Error reading schema: {$e->getMessage()}");
     }
     try {
         $writer = new ezcDbSchemaPersistentWriter($this->input->getOption("overwrite")->value, $this->input->getOption("prefix")->value);
         $writer->saveToFile($defDir, $schema);
         if ($classDir !== null) {
             $writer = new ezcDbSchemaPersistentClassWriter($this->input->getOption("overwrite")->value, $this->input->getOption("prefix")->value);
             $writer->saveToFile($classDir, $schema);
         }
     } catch (ezcBaseException $e) {
         $this->raiseError("Error writing schema: {$e->getMessage()}");
     }
     $this->output->outputLine("PersistentObject definition successfully written to {$defDir}.", 'info');
     if ($classDir !== null) {
         $this->output->outputLine("Class files successfully written to {$classDir}.", 'info');
     }
 }
开发者ID:jacomyma,项目名称:GEXF-Atlas,代码行数:53,代码来源:generator.php

示例14: setUpTables

 protected function setUpTables()
 {
     $schema = ezcDbSchema::createFromFile('xml', dirname(__FILE__) . '/data/schema.xml');
     $schema->writeToDb($this->db);
 }
开发者ID:bmdevel,项目名称:ezc,代码行数:5,代码来源:base.php

示例15: ezcDbSchemaTable

<?php

require 'tutorial_autoload.php';
// create a database schema from an XML file
$xmlSchema = ezcDbSchema::createFromFile('xml', 'enterprise.xml');
// get the tables schema from the database schema
// BY REFERENCE! - otherwise new/deleted tables are NOT updated in the schema
$schema =& $xmlSchema->getSchema();
// add a new table (employees) to the database
$schema['employees'] = new ezcDbSchemaTable(array('id' => new ezcDbSchemaField('integer', false, true, null, true)), array('primary' => new ezcDbSchemaIndex(array('id' => new ezcDbSchemaIndexField()), true)));
// copy the schema of table employees to table persons
$schema['persons'] = clone $schema['employees'];
// delete the table table2
unset($schema['table2']);
// add the fields birthday and salary to the table employees
$schema['employees']->fields['birthday'] = new ezcDbSchemaField('date');
$schema['employees']->fields['salary'] = new ezcDbSchemaField('integer');
// modify the type of salary field to be float
$schema['employees']->fields['salary']->type = 'float';
// delete the field salary
unset($schema['employees']->fields['salary']);
开发者ID:bmdevel,项目名称:ezc,代码行数:21,代码来源:tutorial_example_05.php


注:本文中的ezcDbSchema::createFromFile方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。