mysql - rails : specifying production environment specific migrations

标签 mysql ruby-on-rails ruby-on-rails-3 postgresql heroku

<分区>

Possible Duplicate:
Database Specific Migration Code

所以我在本地运行 MySQL,因为它是我安装的,对我来说很有意义。

但是 Heroku 使用 Postgre,它没有相同的字段类型。

即我本地用的是longblob,在我的生产环境就变成了bytea。 我在本地使用 tinytext,它变成了文本

如何在我的迁移中指定不同的环境,这样我就不必为了推送到 heroku 而编辑我的迁移? (我想让它们在我的本地机器上语法正确)

还有什么建议吗?

最佳答案

我理解想要在本地运行您习惯的东西,因为它更容易。另外,IMO,过去在本地设置 Postgres 一直是一件痛苦的事情。但是,在与生产服务器相同的数据库上运行开发非常重要。如果您是 Mac 用户,现在有一个很好的解决方案,由 Heroku postgres 团队为您提供:

http://postgresapp.com/

使用它,您就不必担心这个了。否则,请遵循 answer posted by Mu ,这会让你做邪恶的两个数据库的事情:)

关于mysql - rails : specifying production environment specific migrations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12169136/

相关文章:

php - 删除不在我的数据库中的文件

MySQL查询为什么我的INNER JOIN组日期结果

ruby-on-rails - 在过滤器之前设置实例变量的Rails测试 Controller 方法

ruby-on-rails - 来自 JSON 文件的 Seed Rails SQLite 数据库

ruby-on-rails-3 - 用于在社交媒体网站上一键分享内容的 rails 3 gem

ruby-on-rails-3 - Rails 应用程序占用所有服务器内存

mysql - MySQL 中的 OUTPUT 子句

python - CGI脚本运行时显示源代码

ruby-on-rails - 添加/usr/bin/gcc-4.2 到路径 - 安装 ruby

ruby-on-rails - 为使用acts_as_tree的资源构建嵌套路由