Add if exists to drop command

This commit is contained in:
Drew Blessing 2016-05-09 12:20:18 -05:00
parent 50d18a1e1d
commit 10d4d5842b

View file

@ -29,10 +29,12 @@ namespace :gitlab do
tables.delete 'schema_migrations' tables.delete 'schema_migrations'
# Truncate schema_migrations to ensure migrations re-run # Truncate schema_migrations to ensure migrations re-run
connection.execute('TRUNCATE schema_migrations') connection.execute('TRUNCATE schema_migrations')
# Drop tables with cascade to avoid dependent table errors # Drop tables with cascade to avoid dependent table errors
# PG: http://www.postgresql.org/docs/current/static/ddl-depend.html # PG: http://www.postgresql.org/docs/current/static/ddl-depend.html
# MySQL: http://dev.mysql.com/doc/refman/5.7/en/drop-table.html # MySQL: http://dev.mysql.com/doc/refman/5.7/en/drop-table.html
tables.each { |t| connection.execute("DROP TABLE #{t} CASCADE") } # Add `IF EXISTS` because cascade could have already deleted a table.
tables.each { |t| connection.execute("DROP TABLE IF EXISTS #{t} CASCADE") }
end end
end end
end end