如何将MySQL中的布尔字段迁移到Heroku中的PostgreSQL?
我有一个应用程序,在本地机器上运行MySQL。在Rails中有一个我定义为布尔值的字段,它在MySQL的0或1中表示 我现在正在尝试迁移到Heroku,它正在使用PostgreSQL。将代码和数据库推送到Heroku后,应用程序无法运行 有一条错误消息如何将MySQL中的布尔字段迁移到Heroku中的PostgreSQL?,mysql,ruby-on-rails-3,postgresql,heroku,rails-postgresql,Mysql,Ruby On Rails 3,Postgresql,Heroku,Rails Postgresql,我有一个应用程序,在本地机器上运行MySQL。在Rails中有一个我定义为布尔值的字段,它在MySQL的0或1中表示 我现在正在尝试迁移到Heroku,它正在使用PostgreSQL。将代码和数据库推送到Heroku后,应用程序无法运行 有一条错误消息 ActiveRecord::StatementInvalid (PGError: ERROR: operator does not exist: boolean = integer 我怎样才能修好它 谢谢大家。这是因为MySQL使用TinyI
ActiveRecord::StatementInvalid (PGError: ERROR: operator does not exist: boolean = integer
我怎样才能修好它
谢谢大家。这是因为MySQL使用TinyInt(1)来存储布尔属性,而PostgreSQL具有本机布尔类型 最好使用像这样的迁移工具 负责处理这些问题 设置本地postgres数据库。从MySQL迁移到本地Postgres数据库。然后使用轻触键从本地postgres DB推送到Heroku 另外,请确保代码中没有使用“y”或“n”,因为这些值是特定于MySQL的
更新:在您执行上述任何操作之前,请查看这篇文章,这是因为MySQL使用TinyInt(1)来存储布尔属性,而PostgreSQL具有本机布尔类型 最好使用像这样的迁移工具 负责处理这些问题 设置本地postgres数据库。从MySQL迁移到本地Postgres数据库。然后使用轻触键从本地postgres DB推送到Heroku 另外,请确保代码中没有使用“y”或“n”,因为这些值是特定于MySQL的
更新:在执行上述任何操作之前,请查看此感谢您的快速响应。有什么方法我不需要在本地机器上安装另一个数据库吗?!请检查使用插值条件表单(如链接中所述)是否解决了您的问题MySQL从5.0.3开始就有真位字段用于MyISAM,5.05用于innodb和其他一些引擎。谢谢dexter。我在条件中犯了一个错误,在检查布尔字段时使用1而不是true。我的问题解决了。:)谢谢你的快速回复。有什么方法我不需要在本地机器上安装另一个数据库吗?!请检查使用插值条件表单(如链接中所述)是否解决了您的问题MySQL从5.0.3开始就有真位字段用于MyISAM,5.05用于innodb和其他一些引擎。谢谢dexter。我在条件中犯了一个错误,在检查布尔字段时使用1而不是true。我的问题解决了。:)