使用capistranodb_ignore_tables和db_ignore_data_tables选项

时间:2015-11-01 16:19:05

标签: mysql ruby-on-rails capistrano ruby-on-rails-4.2

我使用capistrano-db-tasks

如何在运行cap production db:pull任务时跳过某个表?

理想情况下,我需要一种方法来下载没有一个表的生产数据库( 版本 )。

来自documentation

# if you want to exclude table from dump
set :db_ignore_tables, []

# if you want to exclude table data (but not table schema) from dump
set :db_ignore_data_tables, []

我尝试了如下(在config/deploy.rb中):

set :db_ignore_tables, [:versions]
set :db_ignore_data_tables, [:versions]

但它似乎仍在下载整个versions表格中的数据:(。

感谢任何想法!

1 个答案:

答案 0 :(得分:0)

发生这种情况时,db_ignore_data_tables不适用于MySQL数据库,仅适用于PostgreSQL。

不幸的事实。

此外,gem发布版本不提供db_ignore_tables选项,因此您应指定要使用github:

gem 'capistrano-db-tasks', require: false, github: 'sgruhier/capistrano-db-tasks'