コード例 #1
0
ファイル: SchemaSetup.php プロジェクト: JohnEffland/PartKeepr
 public function run()
 {
     $tool = new \Doctrine\ORM\Tools\SchemaTool($this->entityManager);
     $classes = PartKeepr::getClassMetaData();
     $tool->updateSchema($classes, true);
     $this->logMessage("Database Schema created/updated");
 }
コード例 #2
0
ファイル: Doctrine.php プロジェクト: bardascat/blogify
 public function updateSchema($em)
 {
     $tool = new \Doctrine\ORM\Tools\SchemaTool($em);
     $classes = array($em->getClassMetadata("Entities:User"), $em->getClassMetadata("Entities:Partener"), $em->getClassMetadata("Entities:Transaction"), $em->getClassMetadata("Entities:UserNotification"), $em->getClassMetadata("Entities:JobLog"), $em->getClassMetadata("Entities:Email"), $em->getClassMetadata("Entities:Task"), $em->getClassMetadata("Entities:TaskNotes"), $em->getClassMetadata("Entities:TaskList"), $em->getClassMetadata("Entities:TaskReminder"), $em->getClassMetadata("Entities:Rol"), $em->getClassMetadata("Entities:Permisiune"), $em->getClassMetadata("Entities:RolPermisiune"), $em->getClassMetadata("Entities:Pachet"), $em->getClassMetadata("Entities:Serviciu"), $em->getClassMetadata("Entities:CISession"), $em->getClassMetadata("Entities:Order"), $em->getClassMetadata("Entities:OrderItem"), $em->getClassMetadata("Entities:SimplePage"), $em->getClassMetadata("Entities:News"), $em->getClassMetadata("Entities:NewsletterSubscriber"));
     $tool->updateSchema($classes);
     exit("done");
 }
コード例 #3
0
ファイル: DoctrineInstaller.php プロジェクト: svobodni/web
 /**
  * @param \Venne\Module\IModule $module
  */
 public function install(IModule $module)
 {
     if (!$this->context->hasService('doctrine') || !$this->context->doctrine->createCheckConnection()) {
         throw new \Exception('Database connection not found!');
     }
     $classes = $this->getClasses($module);
     $metadata = array();
     foreach ($classes as $class) {
         $metadata[] = $this->entityManager->getClassMetadata($class);
     }
     $tool = new \Doctrine\ORM\Tools\SchemaTool($this->entityManager);
     $this->entityManager->getConnection()->beginTransaction();
     try {
         foreach ($this->getAllClasses() as $class) {
             $metadata[] = $this->entityManager->getClassMetadata($class);
         }
         $tool->updateSchema($metadata);
         $this->entityManager->getConnection()->commit();
     } catch (Exception $e) {
         $this->entityManager->getConnection()->rollback();
         $this->entityManager->close();
         throw $e;
     }
     $this->cleanCache();
 }
コード例 #4
0
 public function update(GenericEvent $event)
 {
     $tool = new \Doctrine\ORM\Tools\SchemaTool($this->em);
     $tool->updateSchema($this->getClasses(), true);
     // Generate proxies for entities
     $this->em->getProxyFactory()->generateProxyClasses($this->getClasses(), __DIR__ . '/../../../../library/Proxy');
 }
コード例 #5
0
 public static function UpdateSchema()
 {
     $metadata = self::$entityManager->getMetadataFactory()->getAllMetadata();
     $schemaTool = new Doctrine\ORM\Tools\SchemaTool(self::$entityManager);
     $schemaTool->updateSchema($metadata, true);
     return;
 }
コード例 #6
0
ファイル: Debug.php プロジェクト: konstantin-pr/Ses
 /**
  * @todo
  */
 public function dbUpdate()
 {
     $success = true;
     try {
         $dummy = DB::em()->getConfiguration()->getMetadataDriverImpl();
         $dummy->addPaths(array(APPLICATION_PATH . '/models'));
         $metadatas = DB::em()->getMetadataFactory()->getAllMetadata();
         if (!empty($metadatas)) {
             $schemaTool = new \Doctrine\ORM\Tools\SchemaTool(DB::em());
             $sqls = $schemaTool->getUpdateSchemaSql($metadatas, true);
             if (!empty($sqls)) {
                 if (App::$inst->request->post('update')) {
                     $schemaTool->updateSchema($metadatas, true);
                     $message = 'Database schema updated successfully!';
                 } else {
                     $message = 'List of updates:<br/>';
                     $message .= implode(';' . PHP_EOL, $sqls) . ';';
                 }
             } else {
                 $message = 'SQLs are empty. Database schema is up to date';
             }
         } else {
             $message = 'Database schema is up to date';
         }
     } catch (Exception $e) {
         $success = false;
         $message = $e->getMessage() . $e->getTraceAsString();
     }
     $this->jsonResponse($success, $message);
 }
コード例 #7
0
 public function update(GenericEvent $event)
 {
     $tool = new \Doctrine\ORM\Tools\SchemaTool($this->em);
     $tool->updateSchema($this->getClasses(), true);
     $this->dispatcher->dispatch('newscoop_paywall.adapters.register', new AdaptersEvent($this, array()));
     // Generate proxies for entities
     $this->em->getProxyFactory()->generateProxyClasses($this->getClasses(), __DIR__ . '/../../../../library/Proxy');
 }
コード例 #8
0
 public function update(GenericEvent $event)
 {
     $tool = new \Doctrine\ORM\Tools\SchemaTool($this->em);
     $tool->updateSchema($this->getClasses(), true);
     $this->em->getProxyFactory()->generateProxyClasses($this->getClasses(), __DIR__ . '/../../../../library/Proxy');
     $this->setPermissions();
     $this->addJobs();
 }
コード例 #9
0
ファイル: Bootstrap.php プロジェクト: ualisonaguiar/shome2
 public static function createStructureDatabase()
 {
     print_r("Criando a estrutura de dados de acordo com as entidades mapeadas.\n");
     $entityManager = self::getServiceManager()->get('Doctrine\\ORM\\EntityManager');
     $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($entityManager);
     $classes = $entityManager->getMetadataFactory()->getAllMetadata();
     $schemaTool->updateSchema($classes);
     print_r("Iniciando os testes unitários.\n\n");
 }
コード例 #10
0
 public function update(GenericEvent $event)
 {
     if ($event->getArgument('plugin_name') != 'newscoop/meteoblue-plugin-bundle') {
         return;
     }
     $tool = new \Doctrine\ORM\Tools\SchemaTool($this->em);
     $tool->updateSchema($this->getClasses(), true);
     // Generate proxies for entities
     $this->em->getProxyFactory()->generateProxyClasses($this->getClasses(), __DIR__ . '/../../../../library/Proxy');
 }
コード例 #11
0
ファイル: Update.php プロジェクト: ramonztro/lightwork-mvc
 public function execute()
 {
     if (envIsNot('development') || !ENV_DOCTRINE_ENABLED) {
         die('NOK');
     }
     $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($this->entityManager);
     $classes = $this->entityManager->getMetadataFactory()->getAllMetadata();
     $schemaTool->updateSchema($classes);
     die('OK');
 }
コード例 #12
0
 public function update()
 {
     $driver = $this->em->getConfiguration()->getMetadataDriverImpl();
     $entities_names = $driver->getAllClassNames();
     $entities_metadata = array();
     foreach ($entities_names as $name) {
         array_push($entities_metadata, $this->em->getClassMetadata($name));
     }
     $tool = new \Doctrine\ORM\Tools\SchemaTool($this->em);
     $tool->updateSchema($entities_metadata);
 }
コード例 #13
0
 /**
  * Build the SQLite database before the tests suite.
  */
 public static function setUpBeforeClass()
 {
     self::$dbFile = sys_get_temp_dir() . '/fos-message/doctrine-orm.db';
     if (file_exists(self::$dbFile)) {
         unlink(self::$dbFile);
     } elseif (!file_exists(dirname(self::$dbFile))) {
         mkdir(dirname(self::$dbFile), 0777, true);
     }
     $em = self::createEntityManager();
     $tool = new \Doctrine\ORM\Tools\SchemaTool($em);
     $tool->updateSchema([$em->getClassMetadata('FOS\\Message\\Driver\\Doctrine\\ORM\\Entity\\Conversation'), $em->getClassMetadata('FOS\\Message\\Driver\\Doctrine\\ORM\\Entity\\ConversationPerson'), $em->getClassMetadata('FOS\\Message\\Driver\\Doctrine\\ORM\\Entity\\Message'), $em->getClassMetadata('FOS\\Message\\Driver\\Doctrine\\ORM\\Entity\\MessagePerson'), $em->getClassMetadata('FOS\\Message\\Driver\\Doctrine\\ORM\\Entity\\Tag'), $em->getClassMetadata('FOS\\Message\\Tests\\Driver\\Doctrine\\ORM\\Entity\\TestPerson')]);
 }
コード例 #14
0
 public function update(GenericEvent $event)
 {
     $tool = new \Doctrine\ORM\Tools\SchemaTool($this->em);
     $tool->updateSchema($this->getClasses(), true);
     // Generate proxies for entities
     $this->em->getProxyFactory()->generateProxyClasses($this->getClasses(), __DIR__ . '/../../../../library/Proxy');
     // Update articletype
     $this->articleTypeConfigurationService->update();
     // Register parsers
     $this->dispatcher->dispatch('newscoop_ingest.parser.register', new IngestParsersEvent($this, array()));
     // Only add if the job doesn't exist
     $this->updateJobs();
     // Set persissions
     $this->setPermissions();
 }
コード例 #15
0
ファイル: Doctrine.php プロジェクト: athemcms/netis
 public function setUp()
 {
     self::$config = (include __DIR__ . '/../../../config.php');
     $dsn = new Dsn(self::$config['db_adapter']['connection']['dsn']);
     $dsn = $dsn->parse();
     $pdo = new \PDO(self::$config['db_adapter']['connection']['dsn'], $dsn['username'], $dsn['password']);
     $pdo->beginTransaction();
     $pdo->exec('CREATE DATABASE ' . $dsn['database']);
     // or die(print_r($pdo->errorInfo()));
     $pdo->commit();
     self::$em = new EntityManager(empty(self::$config['db_adapter']['connection']['dsn']) ? self::$config['db_adapter']['connection'] : self::$config['db_adapter']['connection']['dsn'], empty(self::$config['db_adapter']['options']['doctrine']) ? array() : self::$config['db_adapter']['options']['doctrine']);
     $tool = new \Doctrine\ORM\Tools\SchemaTool(self::$em);
     $classes = $this->db(self::$config['db_adapter']['options']['doctrine']['modelsPath']);
     //        foreach ($classes as $class) echo $class->name . "\n";
     //        die(print_r($tool->getUpdateSchemaSql($classes)));
     $tool->updateSchema($classes);
 }
コード例 #16
0
 /**
  * Updates the DB schema using Doctrine's SchemaTool. The $safeMode flag is passed
  * to SchemaTool unchanged.
  *
  * @param boolean $safeMode
  * @param string $outputPathAndFilename A file to write SQL to, instead of executing it
  * @return string
  */
 public function updateSchema($safeMode = true, $outputPathAndFilename = null)
 {
     $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($this->entityManager);
     if ($outputPathAndFilename === null) {
         $schemaTool->updateSchema($this->entityManager->getMetadataFactory()->getAllMetadata(), $safeMode);
     } else {
         file_put_contents($outputPathAndFilename, implode(PHP_EOL, $schemaTool->getUpdateSchemaSql($this->entityManager->getMetadataFactory()->getAllMetadata(), $safeMode)));
     }
 }
コード例 #17
0
ファイル: IndexController.php プロジェクト: reliv/rcm-install
 public function databaseSetupAction()
 {
     $view = new ViewModel();
     $view->setTemplate('reliv/index/database');
     /** @var \Doctrine\ORM\EntityManager $em */
     $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager');
     $repo = $em->getRepository('\\Rcm\\Entity\\Country');
     try {
         $country = $repo->findOneBy(array('iso3' => 'USA'));
     } catch (TableNotFoundException $e) {
         $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($em);
         $classes = $em->getMetadataFactory()->getAllMetadata();
         try {
             $schemaTool->createSchema($classes);
         } catch (ToolsException $e) {
             try {
                 $schemaTool->updateSchema($classes);
             } catch (ToolsException $e) {
                 $view->setVariable('error', array('message' => $e->getMessage()));
                 return $view;
             }
         }
         $config = $this->getConfig();
         if (is_array($config['fixtures'])) {
             $this->addFixtures($config['fixtures']);
         }
     }
     return $this->redirect()->toRoute('Rcm\\RcmInstall/default', array("action" => "content"));
 }
コード例 #18
0
ファイル: app.php プロジェクト: rdohms/Sample-Azure-App
require 'bootstrap.php';
$app = new App\Application();
//Index
$app->get('/', function () use($app) {
    $action = $app->getAction('Index');
    return $action->run();
});
$app->get('/authenticate-twitter', function () use($app) {
    $action = $app->getAction('AuthenticateTwitter');
    return $action->run();
});
$app->get('/authorize-twitter', function () use($app) {
    $action = $app->getAction('AuthorizeTwitter');
    return $action->run();
});
$app->get('/process', function () use($app) {
    $action = $app->getAction('Process');
    return $action->run();
});
$app->get('/result', function () use($app) {
    $action = $app->getAction('Result');
    return $action->run();
});
$app->get('/updateschema', function () use($app) {
    $em = $app->getDoctrineEntityManager();
    $metadatas = $em->getMetadataFactory()->getAllMetadata();
    $tool = new \Doctrine\ORM\Tools\SchemaTool($em);
    $tool->updateSchema($metadatas, true);
});
return $app;
コード例 #19
0
ファイル: DbTestCase.php プロジェクト: siad007/ctrllib
 public function dropSchema(EntityManager $entityManager)
 {
     $classes = $entityManager->getMetadataFactory()->getAllMetadata();
     $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($entityManager);
     $schemaTool->updateSchema(array());
 }
コード例 #20
0
 public function createDatabase()
 {
     $tool = new \Doctrine\ORM\Tools\SchemaTool($this->em);
     $classes = array($this->getClassMetadata('Host'), $this->getClassMetadata('Tournament'), $this->getClassMetadata('Category'), $this->getClassMetadata('Group'), $this->getClassMetadata('Match'), $this->getClassMetadata('Team'), $this->getClassMetadata('Club'), $this->getClassMetadata('Site'), $this->getClassMetadata('Playground'), $this->getClassMetadata('PlaygroundAttribute'), $this->getClassMetadata('Timeslot'), $this->getClassMetadata('GroupOrder'), $this->getClassMetadata('Enrollment'), $this->getClassMetadata('MatchRelation'), $this->getClassMetadata('QMatchRelation'), $this->getClassMetadata('Event'), $this->getClassMetadata('News'), $this->getClassMetadata('User'), $this->getClassMetadata('Champion'), $this->getClassMetadata('HostPlan'), $this->getClassMetadata('MatchAlternative'), $this->getClassMetadata('MatchSchedule'), $this->getClassMetadata('QMatchSchedule'), $this->getClassMetadata('MatchSchedulePlan'), $this->getClassMetadata('MatchScheduleRelation'), $this->getClassMetadata('QMatchScheduleRelation'), $this->getClassMetadata('SocialGroup'), $this->getClassMetadata('SocialRelation'), $this->getClassMetadata('TournamentOption'), $this->getClassMetadata('Template'));
     $tool->updateSchema($classes);
 }
コード例 #21
0
ファイル: DatabaseTest.php プロジェクト: pscheit/psc-cms
 public function updateSchema()
 {
     $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($this->em);
     $classes = $this->em->getMetadataFactory()->getAllMetadata();
     $sql = $schemaTool->getUpdateSchemaSql($classes);
     $schemaTool->updateSchema($classes, true);
     return $sql;
 }
コード例 #22
0
ファイル: Map.php プロジェクト: zendmaniacs/zly-sysmap
 public function updateSchema()
 {
     $em = $this->em;
     $tool = new \Doctrine\ORM\Tools\SchemaTool($em);
     $classes = $this->_getShemaClasses();
     $tool->updateSchema($classes, true);
     return $this;
 }
コード例 #23
0
ファイル: index.php プロジェクト: avail/unfinished-php-thing
<?php

require 'vendor/autoload.php';
$app = new Silex\Application();
$app['debug'] = true;
$app->register(new Silex\Provider\TwigServiceProvider(), array('twig.path' => __DIR__ . '/views'));
$app->register(new Silex\Provider\SessionServiceProvider());
$app->register(new Silex\Provider\DoctrineServiceProvider(), array('db.options' => array('driver' => 'pdo_sqlite', 'path' => __DIR__ . '/app.db')));
$app->register(new Dflydev\Provider\DoctrineOrm\DoctrineOrmServiceProvider(), array('orm.proxies_dir' => __DIR__ . '/proxies', 'orm.em.options' => array('mappings' => [['type' => 'annotation', 'namespace' => 'Entities', 'path' => __DIR__ . '/entities']])));
// TODO! mod uploading / downloading
// TODO make things not look like shit
$tool = new \Doctrine\ORM\Tools\SchemaTool($app['orm.em']);
$classes = array($app['orm.em']->getClassMetadata('Entities\\User'), $app['orm.em']->getClassMetadata('Entities\\Keys'), $app['orm.em']->getClassMetadata('Entities\\Mods'));
$tool->updateSchema($classes);
function validate_key($key)
{
    global $app;
    // evil!
    $query = $app['orm.em']->createQuery('SELECT k from Entities\\Keys k WHERE k.key = :key AND k.valid = true');
    $query->setParameter('key', $key);
    $values = $query->getResult();
    return count($values) > 0;
}
$root = $app['controllers_factory'];
$admin = $app['controllers_factory'];
$root->get('/', function () use($app) {
    return $app['twig']->render('index.twig');
});
$admin->get('/', function () use($app) {
    return $app['twig']->render('indwtex.twig');
});
コード例 #24
0
 /**
  * Called from functional tests, creates/updates database tables and compiles proxies.
  *
  * @return boolean
  */
 public function compile()
 {
     // "driver" is used only for Doctrine, thus we (mis-)use it here
     // additionally, when no path is set, skip this step, assuming no DB is needed
     if ($this->settings['backendOptions']['driver'] !== null && $this->settings['backendOptions']['path'] !== null) {
         $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($this->entityManager);
         if ($this->settings['backendOptions']['driver'] === 'pdo_sqlite') {
             $schemaTool->createSchema($this->entityManager->getMetadataFactory()->getAllMetadata());
         } else {
             $schemaTool->updateSchema($this->entityManager->getMetadataFactory()->getAllMetadata());
         }
         $proxyFactory = $this->entityManager->getProxyFactory();
         $proxyFactory->generateProxyClasses($this->entityManager->getMetadataFactory()->getAllMetadata());
         $this->systemLogger->log('Doctrine 2 setup finished');
         return true;
     } else {
         $this->systemLogger->log('Doctrine 2 setup skipped, driver and path backend options not set!', LOG_NOTICE);
         return false;
     }
 }
コード例 #25
0
ファイル: Importer.php プロジェクト: williamamed/Raptor2
 /**
  * 
  * Importa los datos previamente salvados con el Exporter hacia la base de datos
  * Esta funcion retorna TRUE si la rutina fue realizada con exito, FALSE en caso contrario
  * 
  * $this->getStore()->getImporter()->createIfNotExist(true)->import(__DIR__.'/exportExample.php');
  * 
  * @param string $file el archivo a subir
  * @throws \Exception throws una excepcion cuando el archivo a subir no exista
  * @return boolean
  */
 public function import($file)
 {
     if (!file_exists($file)) {
         throw new \Exception("The file especified in the Importer does not exist");
     }
     include $file;
     $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($this->store->getManager());
     try {
         $meta = array();
         if ($this->create) {
             foreach ($create as $class) {
                 $meta[] = $this->store->getManager()->getMetadataFactory()->getMetadataFor($class);
             }
             //$schemaTool->createSchema($meta);
             $schemaTool->updateSchema($meta, true);
         }
     } catch (\Exception $exc) {
     }
     try {
         $this->store->getManager()->getConnection()->beginTransaction();
         $ord = new TableDependencyOrder(array_keys($data), $this->store);
         $dependency = $ord->getOrder();
         foreach ($dependency as $tableName) {
             $rows = $data[$tableName];
             //                if($clearTable)
             //                    $this->store->getManager()->getConnection()->executeQuery("DELETE FROM $tableName");
             foreach ($rows as $row) {
                 $this->store->getManager()->getConnection()->insert($tableName, $row);
             }
         }
         $this->store->getManager()->getConnection()->commit();
         return true;
     } catch (\Exception $exc) {
         $this->errors = $exc->getMessage();
         $this->store->getManager()->getConnection()->rollback();
         return false;
     }
 }
コード例 #26
0
ファイル: Step4.php プロジェクト: Clansuite/Clansuite
 public function processValues()
 {
     /**
      * 2) Create database.
      *
      * Has the user requested to create the database?
      */
     if (isset($_POST['config']['database']['create_database']) and $_POST['config']['database']['create_database'] == 'on') {
         try {
             // connection without dbname (must be blank for create table)
             $connectionParams = array('user' => $_POST['config']['database']['user'], 'password' => $_POST['config']['database']['password'], 'host' => $_POST['config']['database']['host'], 'driver' => $_POST['config']['database']['driver']);
             $config = new \Doctrine\DBAL\Configuration();
             $connection = \Doctrine\DBAL\DriverManager::getConnection($connectionParams, $config);
             $connection->setCharset('UTF8');
             /**
              * fetch doctrine schema manager
              * and create database
              */
             $schema_manager = $connection->getSchemaManager();
             $schema_manager->createDatabase($_POST['config']['database']['dbname']);
             /**
              * Another way of doing this is via the specific database platform command.
              * Then for creating the database the platform is asked, which SQL CMD to use.
              * For "pdo_mysql" it would result in a string like 'CREATE DATABASE name'.
              */
             #$db = $connection->getDatabasePlatform();
             #$sql = $db->getCreateDatabaseSQL('databasename');
             #$connection->exec($sql);
             // Drop Connection.
             unset($connection);
         } catch (\Exception $e) {
             // force return
             $this->setStep(4);
             $error = $this->language['ERROR_WHILE_CREATING_DATABASE'] . NL . NL;
             $error .= $e->getMessage() . '.';
             $this->setErrorMessage($error);
         }
     }
     /**
      * 3) Connect to Database
      */
     // Setup Connection Parameters. This time with "dbname".
     $connectionParams = array('dbname' => $_POST['config']['database']['dbname'], 'user' => $_POST['config']['database']['user'], 'password' => $_POST['config']['database']['password'], 'host' => $_POST['config']['database']['host'], 'driver' => $_POST['config']['database']['driver'], 'prefix' => $_POST['config']['database']['prefix']);
     $entityManager = Helper::getDoctrineEntityManager($connectionParams);
     /**
      * 4) Validate Database Schemas
      */
     try {
         // instantiate validator
         $validator = new \Doctrine\ORM\Tools\SchemaValidator($entityManager);
         // validate
         $validation_error = $validator->validateMapping();
         // handle validation errors
         if ($validation_error) {
             // @todo this is experimental...
             $this->setErrorMessage(var_export($validation_error, false));
         }
     } catch (Exception $e) {
         // force return
         $this->setStep(4);
         $error = $this->language['ERROR_NO_DB_CONNECT'] . NL . $e->getMessage();
         $this->setErrorMessage($error);
     }
     /**
      * 5) Insert/Update Schemas
      *
      * "recreate" will do a database drop, before schemas are updated.
      */
     try {
         $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($entityManager);
         $metadata = $entityManager->getMetadataFactory()->getAllMetadata();
         if (isset($_GET['recreate'])) {
             $schemaTool->dropSchema($metadata);
         }
         $schemaTool->updateSchema($metadata);
         $entityManager->flush();
     } catch (Exception $e) {
         $html = '';
         $html .= 'The update failed!' . NL;
         $html .= 'Do you want to force a database drop (' . $connectionParams['dbname'] . ')?' . NL;
         $html .= 'This will result in a total loss of all data and database tables.' . NL;
         $html .= 'It will allow for an clean installation of the database.' . NL;
         $html .= 'WARNING: Act carefully!' . NL;
         $html .= '<form action="index.php?step=4&recreate=true" method="post">';
         $html .= '<input type="submit" value="Recreate Database" class="retry"></form>';
         // force return
         $this->setStep(4);
         $error = $this->language['ERROR_NO_DB_CONNECT'] . NL . $e->getMessage();
         $error .= NL . NL . $html;
         $this->setErrorMessage($error);
     }
     /**
      * 6. Write Settings to clansuite.config.php
      */
     if (false === Helper::write_config_settings($_POST['config'])) {
         // force return
         $this->setStep(4);
         $error = 'Config not written.' . NL;
         $this->setErrorMessage($error);
     }
 }
コード例 #27
0
ファイル: Installer.php プロジェクト: php-nik/core
 public function updateSchema(&$em = null, $entitiesClasses = null)
 {
     if ($entitiesClasses === null) {
         $entitiesClasses = $this->getEntities();
     }
     $tool = new \Doctrine\ORM\Tools\SchemaTool($em);
     foreach ($entitiesClasses as $entity) {
         $classes[] = $em->getClassMetadata($entity);
     }
     $tool->updateSchema($classes);
     $this->generateUpdateEntity($em, $classes);
 }
コード例 #28
0
 public static function register($panel, $group = 'Doctrine')
 {
     $panel->addCommand($group, Command::create('Create Schema', function ($container) {
         $em = $container->entityManager;
         $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($em);
         $metadatas = $em->getMetadataFactory()->getAllMetadata();
         $schemaTool->createSchema($metadatas);
     }));
     $panel->addCommand($group, Command::create('Update Schema', function ($container) {
         $em = $container->entityManager;
         $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($em);
         $metadatas = $em->getMetadataFactory()->getAllMetadata();
         $schemaTool->updateSchema($metadatas);
     }));
     $panel->addCommand($group, Command::create('Drop Schema', function ($container) {
         $em = $container->entityManager;
         $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($em);
         $metadatas = $em->getMetadataFactory()->getAllMetadata();
         $schemaTool->dropSchema($metadatas);
     }));
 }
コード例 #29
0
ファイル: Upgrade.php プロジェクト: elfchat/elfchat
 public function database()
 {
     $em = $this->app->entityManager();
     $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($em);
     $schemaTool->updateSchema($em->getMetadataFactory()->getAllMetadata());
 }
コード例 #30
0
ファイル: doctrine.php プロジェクト: rusli-nasir/iHealth
<?php

define('APPLICATION_ENV', 'development');
define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../'));
echo APPLICATION_PATH;
set_include_path(implode(PATH_SEPARATOR, array(realpath(APPLICATION_PATH . '/../library'), get_include_path())));
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
$application->getBootstrap()->bootstrap('doctrine');
$em = $application->getBootstrap()->getResource('doctrine');
$schemaTool = new \Doctrine\ORM\Tools\SchemaTool($em);
$metadata = $em->getMetadataFactory()->getAllMetadata();
$schemaTool->updateSchema($metadata);