Class: TestData::WarnsIfDumpIsNewerThanDatabase
- Inherits:
-
Object
- Object
- TestData::WarnsIfDumpIsNewerThanDatabase
- Defined in:
- lib/test_data/warns_if_dump_is_newer_than_database.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize ⇒ WarnsIfDumpIsNewerThanDatabase
constructor
A new instance of WarnsIfDumpIsNewerThanDatabase.
Constructor Details
#initialize ⇒ WarnsIfDumpIsNewerThanDatabase
Returns a new instance of WarnsIfDumpIsNewerThanDatabase.
3 4 5 6 7 |
# File 'lib/test_data/warns_if_dump_is_newer_than_database.rb', line 3 def initialize @config = TestData.config @determines_when_sql_dump_was_made = DeterminesWhenSqlDumpWasMade.new @determines_databases_associated_dump_time = DeterminesDatabasesAssociatedDumpTime.new end |
Instance Method Details
#call ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/test_data/warns_if_dump_is_newer_than_database.rb', line 9 def call return unless Rails.env.test_data? sql_dumped_at = @determines_when_sql_dump_was_made.call database_dumped_at = @determines_databases_associated_dump_time.call if sql_dumped_at.present? && database_dumped_at.present? && sql_dumped_at > database_dumped_at TestData.log.warn " The SQL dumps in '\#{File.dirname(@config.data_dump_path)}' were created\n after your local test_data database '\#{@config.database_name}' was last dumped.\n\n SQL Dump: \#{sql_dumped_at.localtime}\n Database: \#{database_dumped_at.localtime}\n\n To avoid potential data loss, you may want to consider dropping '\#{@config.database_name}'\n and loading the SQL dumps before making changes to the test data in this database\n or performing another dump.\n\n To do this, kill any processes with RAILS_ENV=test_data and then run:\n\n $ bin/rake test_data:reinitialize\n\n MSG\n end\nend\n" |