如何在学说中创建数据库2(独立)



我在PHP项目中使用Doctrine2(来自Symfony)。

如何从代码创建数据库?

就像 Symfony 项目中的 php app/console doctrine:database:create 命令所做的那样。

我有与驱动程序上的简单symfony项目相同的数据库pdo_mysql

我找到了有关数据库连接,架构创建,映射,实体管理器的所有信息...在文档中,但实际上没有关于创建数据库的内容。

我很确定知道如何使用硬编码的 MySQL 查询(即 CREATE DATABASE ... ),
我正在寻找教义工具的使用(当然,如果存在的话)。

你似乎是对的,我找不到这方面的文档。

doctrine:database:create命令所执行操作的简短变体:

<?php
public function createDatabase($name, array $config)
{
    /** @var DoctrineDBALConnection */
    $tmpConnection = DoctrineDBALDriverManager::getConnection($config);
    // Check if the database already exists
    if (in_array($name, $tmpConnection->getSchemaManager()->listDatabases())) {
        return;
    }
    // Create the database
    $tmpConnection->getSchemaManager()->createDatabase($name);
    $tmpConnection->close();
}

用法示例:

$this->createDatabase('symfony', array(
    'driver'   => 'pdo_mysql',
    'host'     => '127.0.0.1',
    'user'     => 'db_user',
    'password' => 'db_password',
));

原则 SchemaManager 文档(不讨论预期的方法)。

最新更新