Module: Whatup::Server::DbInit

Extended by:
Redirection
Included in:
Server
Defined in:
lib/whatup/server/db_init.rb

Class Method Summary collapse

Methods included from Redirection

redirect

Class Method Details

.setup_db!Object

Sets up our database, deleting all existing data.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/whatup/server/db_init.rb', line 13

def setup_db!
  db = "#{Dir.home}/.whatup.db"
  SQLite3::Database.new(db) unless File.exist?(db)

  ActiveRecord::Base.establish_connection adapter: 'sqlite3',
                                          database: db

  ActiveRecord::Base.connection.execute <<~SQL
    DROP TABLE IF EXISTS clients_rooms;
    DROP TABLE IF EXISTS clients;
    DROP TABLE IF EXISTS messages;
    DROP TABLE IF EXISTS rooms;
  SQL

  if Whatup.testing?
    # We silence output here, so that tests don't get cluttered
    redirect(stdout: StringIO.new) { create_tables! }
    return
  end

  create_tables!
end