Sha256: 3d011eba85ae9903dd6ee722a629d698731d82a562366fc8af3d6e12b06c9cd3
Contents?: true
Size: 1.48 KB
Versions: 4
Compression:
Stored size: 1.48 KB
Contents
# frozen_string_literal: true require 'whatup' require 'whatup/server/redirection' module Whatup module Server module DbInit extend Redirection class << self # Sets up our database, deleting all existing data. 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 private def create_tables! ActiveRecord::Schema.define do create_table :clients, force: true do |t| t.string :name t.references :room end create_table :messages, force: true do |t| t.string :content t.references :sender t.references :recipient end create_table :rooms, force: true do |t| t.string :name end end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
whatup-0.3.4 | lib/whatup/server/db_init.rb |
whatup-0.3.3 | lib/whatup/server/db_init.rb |
whatup-0.3.2 | lib/whatup/server/db_init.rb |
whatup-0.3.1 | lib/whatup/server/db_init.rb |