我正在使用heroku(ruby on rails)开发一个网站。我使用postgres数据库。现在我犯了一个错误,这个数据库里面有一行我要删除。但我无法访问。数据显示在网站上。但没有图片或其他内容。这只是一次试验和一次重大错误;)
如何在不删除整个数据库的情况下删除此数据?我一无所获......
我希望你能帮助我。
最好的问候
答案 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