gpt4 book ai didi

mysql - Yii2:支持 MySQL 和 PostgreSQL

转载 作者:行者123 更新时间:2023-11-29 14:14:30 25 4
gpt4 key购买 nike

我的 Yii2 应用程序应该允许客户使用 MySQL 或 PostgreSQL 作为数据库后端。因此,我需要编写同时适用于这两个数据库的代码。

我开始支持 MySQL 并且需要删除 MySQL 特定代码,例如在迁移中:

public function up() {
$this->execute('ALTER SCHEMA DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci');
$this->execute('ALTER SCHEMA CHARACTER SET utf8 COLLATE utf8_general_ci');
$this->createTable('user', [
'id' => $this->primaryKey(),
...
],
'CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE=InnoDB'
);
}

如何重写这段代码?

是否有解决此问题的 repo 协议(protocol)? MySQL 和 PostgreSQL 兼容性的最佳实践是什么?

最佳答案

我对 Postgre 不是很熟悉,但是通过 app-advanced 中基本迁移的外观,您可以检查 driverName 并基于它创建不同的逻辑。

Migration File

$tableOptions = null;
if ($this->db->driverName === 'mysql') {
$tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';
}

关于mysql - Yii2:支持 MySQL 和 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54106977/

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