使用heroku从postgres数据库中删除数据(ruby on rails)

时间:2016-05-17 21:18:43

标签: ruby database ruby-on-rails-3 postgresql heroku

我正在使用heroku(ruby on rails)开发一个网站。我使用postgres数据库。现在我犯了一个错误,这个数据库里面有一行我要删除。但我无法访问。数据显示在网站上。但没有图片或其他内容。这只是一次试验和一次重大错误;)

如何在不删除整个数据库的情况下删除此数据?我一无所获......

我希望你能帮助我。

最好的问候

3 个答案:

答案 0 :(得分:1)

假设你的rails应用程序配置正确(我猜它是,因为你得到它足够远,在数据库中插入不正确的行),正如评论所说,你可以使用heroku工具带访问rails控制台。

要安装heroku工具带,请按照here的说明进行操作。

由于你一直在开发Rails,这可能是最熟悉的。

打开终端窗口,切换到您的应用程序目录,然后运行

heroku run rails c

这应该给你这样的东西

Loading production environment (Rails 4.2.0)
irb(main):001:0>

从那里你可以输入rails代码,控制台将针对你的数据库运行该代码。

例如,如果您要删除的模型是Post,则可以键入

Post.pluck :name

找到你所拥有的帖子的名称。

然后你可以做

Post.where(name: 'my broken post').destroy_all

答案 1 :(得分:0)

我来晚了一点,但这可能会帮助绊倒这个线程的人...

如果您通过网站访问Heroku应用的仪表板>设置>“ Reveal Config Vars”> DATABASE_URL,然后将该URL粘贴到浏览器中。

我使用TablePlus进行数据库管理,当我将链接粘贴到浏览器中时,它询问它是否可以打开TablePlus,然后可以像开发中一样实时编辑生产数据库。

我不确定如果没有TablePlus,将URL粘贴到浏览器中会做什么。我想它会要求打开您可能拥有的任何其他SQL管理应用程序。

答案 2 :(得分:-1)

您可以使用以下命令删除数据库并重新创建

java.lang.IllegalArgumentException: Can only download HTTP/HTTPS URIs: data:text/vcard;base64,qadsasffaefqawdfafafasdasdasdasdadasd

再次创建数据库

heroku pg:reset database