所以我是 ROR 和 Heroku 的新手,需要一点帮助。我创建了一个应用程序并部署了它;但是,我想清除与之关联的数据库。这意味着我想清除迄今为止创建的所有用户(及其附加数据)。
我基本上创建了几个虚假帐户来测试生产站点上的数据库是否有效,但现在我想清除它,并从一个新的数据库开始。
在不完全删除数据库的情况下这可能吗?
任何帮助将不胜感激。非常感谢您的宝贵时间!
所以我是 ROR 和 Heroku 的新手,需要一点帮助。我创建了一个应用程序并部署了它;但是,我想清除与之关联的数据库。这意味着我想清除迄今为止创建的所有用户(及其附加数据)。
我基本上创建了几个虚假帐户来测试生产站点上的数据库是否有效,但现在我想清除它,并从一个新的数据库开始。
在不完全删除数据库的情况下这可能吗?
任何帮助将不胜感激。非常感谢您的宝贵时间!
您可以使用heroku pg:reset DATABASE
命令重置整个数据库。该命令将简单地删除并创建数据库。
然后你必须使用heroku rake db:migrate
来创建表。
或者,您可以rake db:reset
在本地使用命令,然后运行heroku db:push
以更新生产数据库。
heroku pg:reset DATABASE --confirm {app-name}
heroku run rake db:migrate
heroku run rake db:seed
通过终端登录 Heroku,然后运行以下命令之一:
heroku rake db:reset
//or:
heroku run rake db:reset
第一个是旧的,第二个是最新的。
输入heroku pg:reset DATABASE
您的控制台,然后在出现提示时输入您的应用程序名称。这将删除整个数据库——表、行、列、所有数据,一切。
然后,输入heroku run rake db:migrate
。这将创建相同的表、行和列,但没有任何对象数据。
目前的方法是:
heroku pg:reset DATABASE_URL --confirm <APP_NAME>
重置数据库
像咆哮一样奔跑
heroku pg:reset SHARED_DATABASE --confirm APP_NAME
这对我很有效
当前 Cedar 堆栈对共享数据库的正确语法是:
heroku pg:reset SHARED_DATABASE my-database-name-1294
(将“my-database-name-1294”替换为 URL 中 .herokuapp.com 之前的内容)
然后它会问你这个:
----> Resetting SHARED_DATABASE (DATABASE_URL)
! WARNING: Potentially Destructive Action
! This command will affect the app: my-database-name-1294
! To proceed, type "my-database-name-1294" or re-run this command with --confirm my-database-name-1294
只需在此处重新键入“my-database-name-1294”,它就会重置所有内容。
如果您有两台服务器 - 生产和登台,并且您想将数据库从生产添加到登台
heroku pg:reset DATABASE --remote staging
heroku pgbackups:restore DATABASE URL_OF_DATABASE --remote staging
heroku run rake db:migrate --remote staging
URL_TO_DATABASE - 转储的 aws 或 Dropbox url。
这对我有用!
是的,您可以使用 SQL 方法执行此操作,也可以仅使用 Rails 控制台从命令行执行此操作并调用 @users.destroy_all 方法。本文介绍如何使用 Heroku 的控制台。
重置数据库
运行后它会要求您确认:
heroku pg:reset DATABASE_URL
在一行中全部重置
我不使用这种方法以防万一我犯了错误(我更喜欢上面的方法要求我确认)。替换myherokuapp
为您的应用名称:
heroku pg:reset DATABASE_URL --confirm myherokuapp
重置和重新播种
像以前一样,要小心,因为这将完全删除您当前的数据库并从seeds.rb
. 在以下内容中替换myherokuapp
为您的应用程序的名称:
heroku pg:reset DATABASE_URL --confirm myherokuapp
heroku run rake db:migrate db:seed
在项目目录中使用此命令。添加 DISABLE_DATABASE_ENVIRONMENT_CHECK=1 允许生产环境像开发环境一样运行。
heroku run db:reset DISABLE_DATABASE_ENVIRONMENT_CHECK=1
Heroku 提供了一个可视化工具来执行此操作。转到资源> Heroku Postgres :: Database Drop database manualy
如果要迁移表,请使用rake db:migrate
启动种子rake db:seed