繁体   English   中英

如何将MySQL中的布尔值字段迁移到Heroku中的PostgreSQL?

[英]How to migrate a boolean field in MySQL to PostgreSQL in Heroku?

我有一个在本地计算机上运行MySQL的应用程序。 我在Rails中定义了一个布尔值字段,在MySQL中用0或1表示。

我现在正在尝试迁移到使用PostgreSQL的Heroku。 将代码和数据库推送到Heroku后,该应用程序将无法运行。

没有错误消息。

ActiveRecord::StatementInvalid (PGError: ERROR:  operator does not exist: boolean = integer

我该如何解决?

谢谢大家

这是因为MySQL使用TinyInt(1)来存储布尔属性,而PostgreSQL具有本机布尔类型。

最好使用类似

https://github.com/maxlapshin/mysql2postgres

负责处理这些问题。

设置本地postgres数据库。 从MySQL迁移到本地Postgres DB。 然后使用水龙头将本地Postgres数据库推送到Heroku。

另外,请确保您未在​​代码中的任何地方使用“ y”或“ n”,因为这些值特定于MySQL

更新:在执行上述任何操作之前,请查看此http://devcenter.heroku.com/articles/database#common_issues_migrating_to_postgresql

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM