gpt4 book ai didi

doctrine - 从浏览器运行的脚本运行 Doctrine 2 CLI 工具任务

转载 作者:搜寻专家 更新时间:2023-10-31 21:44:29 26 4
gpt4 key购买 nike

一些背景信息:我正在致力于将 Doctrine 集成到 CodeIgniter 应用程序中。我让它工作,但我希望能够从浏览器运行 Doctrine 命令行 (CLI) 任务,即不是从命令行脚本。

我希望这样做的原因是因为我将在共享主机包上运行 Doctrine 和 CodeIgniter,我将无法访问命令行。

这似乎是一个非常基本的功能,但在 Doctrine 2 中并不容易获得。

我最后的努力是进入命令行工具并弄清楚任务是如何执行的,然后在 CodeIgniter Controller 中复制该代码。

如果有任何更简单的方法可以做到这一点,请告诉我。

谢谢!

Unanswered duplicate不久前发布。

最佳答案

对于以下内容

$doctrine = \Zend_Registry::get('doctrine');
$em = $doctrine->getEntityManager();
$tool = new \Doctrine\ORM\Tools\SchemaTool($em);

获取 SQL 以更新当前模式:

$sqlArray = $tool->getUpdateSchemaSql($em->getMetadataFactory()->getAllMetadata());

使用当前元数据更新架构

$res = $tool->updateSchema($em->getMetadataFactory()->getAllMetadata());

创建架构。

$res = $tool->createSchema($em->getMetadataFactory()->getAllMetadata());

这属于安装脚本。只需创建并验证数据库连接

$conn = $doctrine->getConnection();
$sql = "SELECT * FROM users";
try {
$stmt = $conn->query($sql); // Simple (too simple?)
die('Already installed');
} catch (Exception $e) {
// Table not found, continue
}

然后创建您的模式。

关于doctrine - 从浏览器运行的脚本运行 Doctrine 2 CLI 工具任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6112730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com