Sha256: 09377e500deaf3914d0508ff7fdc1ca9eac0749a10519ec6dfd00b89f74adeae

Contents?: true

Size: 1.33 KB

Versions: 6

Compression:

Stored size: 1.33 KB

Contents

require 'sequel'

# check database version

CREATE_TABLE_SCRIPT = File.expand_path("../../../db/create.sql", __FILE__)
print "Checking vmail.db version... "
db = Sequel.connect 'sqlite://vmail.db'
if db.tables.include?(:version) &&
    (r = db[:version].first) &&
    r[:vmail_version] != Vmail::VERSION

  print "Vmail database version is outdated. Recreating.\n"
  `rm vmail.db`
  `sqlite3 vmail.db < #{CREATE_TABLE_SCRIPT}`
else
  print "OK\n"
end
db.disconnect

if !File.size?('vmail.db')
  puts `sqlite3 vmail.db < #{CREATE_TABLE_SCRIPT}`
end

DB = Sequel.connect 'sqlite://vmail.db'
puts "Connecting to database"

if DB[:version].count == 0
  DB[:version].insert(:vmail_version => Vmail::VERSION)
end

module Vmail
  class Message < Sequel::Model(:messages)
    set_primary_key :message_id
    one_to_many :labelings
    many_to_many :labels, :join_table => 'labelings'
  end
end

if DB[:version].count == 0
  DB[:version].insert(:vmail_version => Vmail::VERSION)
end


module Vmail
  class Message < Sequel::Model(:messages)
    set_primary_key :message_id
    one_to_many :labelings
    many_to_many :labels, :join_table => 'labelings'
  end

  class Label < Sequel::Model(:labels)
    set_primary_key :label_id
    one_to_many :labelings
    many_to_many :messages, :join_table => 'labelings'
  end

  class Labeling < Sequel::Model(:labelings)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
vmail-2.9.4 lib/vmail/database.rb
vmail-2.9.3 lib/vmail/database.rb
vmail-2.9.2 lib/vmail/database.rb
vmail-2.9.1 lib/vmail/database.rb
vmail-2.9.0 lib/vmail/database.rb
vmail-2.8.9 lib/vmail/database.rb