Sha256: 0a1205c6b5b172a0d47debbca0823d53be8581c38039b2e5c6bbf428dae446f0

Contents?: true

Size: 1.36 KB

Versions: 3

Compression:

Stored size: 1.36 KB

Contents

# frozen_string_literal: true

# database handling for eDen Db
class Database
  class << self
    Sequel.extension :migration

    def db_access
      Sequel.connect("sqlite://eden.sqlite3")
    end

    def create_table(table_name)
      eden = Sequel.connect("sqlite://eden.sqlite3")
      unless eden.table_exists?(table_name)
        eden.create_table table_name.to_sym do
          primary_key "#{table_name}_id".to_sym
        end
      end
    end

    # def create_column(table, column_name, type)
    #   eden = Sequel.connect("sqlite://eden.sqlite3")
    #   if eden.table_exists?(table)
    #     unless eden.schema(table).any? { |column| column.first == column_name }
    #       Sequel.migration do
    #         change do
    #           add_column table, column_name, type
    #         end
    #       end.apply(eden, :up)
    #     end
    #   end
    # end
    def create_column(table, column_name, type)
      eden = Sequel.connect("sqlite://eden.sqlite3")
      if eden.table_exists?(table)
        begin
          Sequel.migration do
            change do
              add_column table, column_name, type unless eden.schema(table).any? { |column| column.first == column_name }
            end
          end.apply(eden, :up)
        rescue Sequel::DatabaseError => e
          puts "Erreur lors de l'ajout de la colonne : #{e.message}"
        end
      end
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
atome-0.5.6.3.1 vendor/assets/server/database.rb
atome-0.5.6.3.0 vendor/assets/server/database.rb
atome-0.5.6.2.9 vendor/assets/server/database.rb