我是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
做到这一点的2013方法是:
在控制台中输入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
这对我非常有效
heroku pg:reset SHARED_DATABASE my-database-name-1294
请将URL中的"my-database-name-1294"替换为您实际使用的名称。
然后会要求您输入以下内容:
----> 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 ”重新输入到那里,它就会重置所有内容。
是的,你可以使用 SQL 方法来完成它,或者只需从命令行中使用 Rails Console 并调用 @users.destroy_all 方法即可。这篇文章解释了如何从 Heroku 使用控制台。
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。
heroku run
直接运行任何命令,因此:heroku run rake db:reset
。 - asymmetric