本文整理汇总了PHP中Connection::getSchemaManager方法的典型用法代码示例。如果您正苦于以下问题:PHP Connection::getSchemaManager方法的具体用法?PHP Connection::getSchemaManager怎么用?PHP Connection::getSchemaManager使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Connection
的用法示例。
在下文中一共展示了Connection::getSchemaManager方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct(Version $version)
{
$this->configuration = $version->getConfiguration();
$this->outputWriter = $this->configuration->getOutputWriter();
$this->connection = $this->configuration->getConnection();
$this->sm = $this->connection->getSchemaManager();
$this->platform = $this->connection->getDatabasePlatform();
$this->version = $version;
}
示例2: testSkipMigrateUp
public function testSkipMigrateUp()
{
$version = new \Doctrine\DBAL\Migrations\Version($this->config, 1, 'Doctrine\\DBAL\\Migrations\\Tests\\Functional\\MigrationSkipMigration');
$this->assertFalse($this->config->hasVersionMigrated($version));
$version->execute('up');
$schema = $this->connection->getSchemaManager()->createSchema();
$this->assertFalse($schema->hasTable('foo'));
$this->assertTrue($this->config->hasVersionMigrated($version));
}
示例3: __construct
public function __construct(Configuration $configuration, $version, $class)
{
$this->_configuration = $configuration;
$this->_outputWriter = $configuration->getOutputWriter();
$this->_version = $version;
$this->_class = $class;
$this->_connection = $configuration->getConnection();
$this->_sm = $this->_connection->getSchemaManager();
$this->_platform = $this->_connection->getDatabasePlatform();
$this->_migration = new $class($this);
}
示例4: __construct
public function __construct(Configuration $configuration, $version, $class)
{
$this->configuration = $configuration;
$this->outputWriter = $configuration->getOutputWriter();
$this->class = $class;
$this->connection = $configuration->getConnection();
$this->sm = $this->connection->getSchemaManager();
$this->platform = $this->connection->getDatabasePlatform();
$this->migration = new $class($this);
$this->version = $this->migration->getName() ?: $version;
}
示例5: resynchronizeDatabaseSequences
/**
* @brief Resynchronizes all sequences of a database after using INSERTs
* without leaving out the auto-incremented column.
* @param \OC\DB\Connection $conn
* @return null
*/
public function resynchronizeDatabaseSequences(Connection $conn)
{
$databaseName = $conn->getDatabase();
foreach ($conn->getSchemaManager()->listSequences() as $sequence) {
$sequenceName = $sequence->getName();
$sqlInfo = 'SELECT table_schema, table_name, column_name
FROM information_schema.columns
WHERE column_default = ? AND table_catalog = ?';
$sequenceInfo = $conn->fetchAssoc($sqlInfo, array("nextval('{$sequenceName}'::regclass)", $databaseName));
$tableName = $sequenceInfo['table_name'];
$columnName = $sequenceInfo['column_name'];
$sqlMaxId = "SELECT MAX({$columnName}) FROM {$tableName}";
$sqlSetval = "SELECT setval('{$sequenceName}', ({$sqlMaxId}))";
$conn->executeQuery($sqlSetval);
}
}