Ton*_*Han 5 postgresql capistrano ruby-on-rails
我正在使用postgres编写一个rails项目,服务器中有一些数据.我想把数据从远端转储到本地,所以我写脚本来做,但是出现了一些错误.
这是转储脚本:
run "PGPASSWORD='#{remote_settings['password']}'
pg_dump -U #{remote_settings["username"]} #{"-h '#{remote_settings["host"]}'"
if remote_settings["host"]}
'#{remote_settings["database"]}' > #{remote_sql_file_path}"
Run Code Online (Sandbox Code Playgroud)
有一些代码要运输..
Transport codes
Run Code Online (Sandbox Code Playgroud)
这是恢复脚本:
run_locally "PGPASSWORD='#{local_settings['password']}' psql -U
#{local_settings["username"]} -d #{local_settings["database"]}
-f #{local_sql_file_path}"
Run Code Online (Sandbox Code Playgroud)
我成功获取了数据文件,但是当运行**restore脚本时出现了一些错误*:
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:46: ERROR: relation "refinery_images" already exists
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:49: ERROR: role "ib5k" does not exist
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:60: ERROR: relation "refinery_images_id_seq" already exists
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:63: ERROR: role "ib5k" does not exist
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:83: ERROR: relation "refinery_page_part_translations" already exists
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:86: ERROR: role "ib5k" does not exist
...
sql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:525: ERROR: duplicate key value violates unique constraint "refinery_images_pkey"
DETAIL: Key (id)=(1) already exists.
CONTEXT: COPY refinery_images, line 2: ""
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:547: ERROR: duplicate key value violates unique constraint "refinery_page_part_translations_pkey"
DETAIL: Key (id)=(1) already exists.
CONTEXT: COPY refinery_page_part_translations, line 8: ""
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:569: ERROR: duplicate key value violates unique constraint "refinery_page_parts_pkey"
DETAIL: Key (id)=(1) already exists.
CONTEXT: COPY refinery_page_parts, line 8: ""
...
Run Code Online (Sandbox Code Playgroud)
并且本地的数据库不会更新.我想知道如何解决它?添加一些参数?先感谢您.