PHP 使用 Propel 从 MySql 迁移到 Postgres
PHP migrating from MySql to Postgres using Propel
您好,我刚刚开始使用 PHP Symfony 使用 Propel-Mysql 构建的项目。我正在将数据库从 MySql
迁移到 Postgres
,我想知道我该怎么做。
当前模式存储在 schema.yml 文件中
由于我是 Symfony 的新手,我想了解一些事情:
- Symfony/Propel
是否支持 Postgres
- 据我所知,schema 必须稍微改变一下,
MySql
和 Postgres
的结构不相似,我该怎么做?
- 迁移完成后,我的 ORM 会自动生成使用 class 文件吗?
- 我在安装 PHP Postgres 连接器之前在 Propel 中生成了一个 Postgres 数据库。
- 我建议分支您的 Propel 代码库(或只是 om 和 map 文件夹)并进行新的生成,因为 Propel 一旦生成就永远不会修改或删除 table 扩展 类。在那之后你所能做的就是对你的代码进行单元测试。否则无法知道是否存在问题。
- 如果您指的是 om 和 map 目录,那么是的。如果您重命名了您的任何 table,那么一定要重命名。如果您的 table 扩展 类 中有自定义代码,则必须将它们移动到新生成的 类.
您好,我刚刚开始使用 PHP Symfony 使用 Propel-Mysql 构建的项目。我正在将数据库从 MySql
迁移到 Postgres
,我想知道我该怎么做。
当前模式存储在 schema.yml 文件中
由于我是 Symfony 的新手,我想了解一些事情:
- Symfony/Propel 是否支持 Postgres
- 据我所知,schema 必须稍微改变一下,
MySql
和Postgres
的结构不相似,我该怎么做? - 迁移完成后,我的 ORM 会自动生成使用 class 文件吗?
- 我在安装 PHP Postgres 连接器之前在 Propel 中生成了一个 Postgres 数据库。
- 我建议分支您的 Propel 代码库(或只是 om 和 map 文件夹)并进行新的生成,因为 Propel 一旦生成就永远不会修改或删除 table 扩展 类。在那之后你所能做的就是对你的代码进行单元测试。否则无法知道是否存在问题。
- 如果您指的是 om 和 map 目录,那么是的。如果您重命名了您的任何 table,那么一定要重命名。如果您的 table 扩展 类 中有自定义代码,则必须将它们移动到新生成的 类.