Class: Sequent::Cli::Sequent8Migration

Inherits:
Object
  • Object
show all
Defined in:
lib/sequent/cli/sequent_8_migration.rb

Defined Under Namespace

Classes: Stop

Instance Method Summary collapse

Constructor Details

#initialize(prompt) ⇒ Sequent8Migration

Returns a new instance of Sequent8Migration.



8
9
10
# File 'lib/sequent/cli/sequent_8_migration.rb', line 8

def initialize(prompt)
  @prompt = prompt
end

Instance Method Details

#executeObject

Raises:

  • Gem::MissingSpecError



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/sequent/cli/sequent_8_migration.rb', line 13

def execute
  print_introduction
  abort_if_no('Do you wish to start the migration?')
  copy_schema_files
  abort_if_no('Do you which to continue?')
  stop_application
  migrate_data
  prompt.ask('Press <enter> if the migration is done and you checked the results?')
  migrated = commit_or_rollback

  if migrated
    prompt.say <<~EOS

      Step 5. Deploy your Sequent 8 based application and start it.

      Congratulations! You are now running your application on Sequent 8!
    EOS
  else
    prompt.say <<~EOS

      We are sorry the migration did not succeed. If you think this is a bug in Sequent don't hesitate to reach
      out and submit an issue on Github: https://github.com/zilverline/sequent.

      Don't forget to start your application again!
    EOS
  end
end