require 'erb'

def create_options
  if @db == 'mysql'
    'ENGINE = ' + (mysql_engine rescue @mysql_engine)
  end
end

def db_quote(column)
  case @db
  when 'postgresql'
    return "\"#{column}\""
  when 'sqlite', 'sqlite3'
    return "'#{column}'"
  when 'mysql'
    return "`#{column}`"
  end
end

def db_structure(db)
  db.downcase!
  @db = db
  case db
  when 'postgresql'
    @pk = 'SERIAL PRIMARY KEY'
    @datetime = 'TIMESTAMP'
    @boolean = "BOOLEAN"
  when 'sqlite', 'sqlite3'
    @pk = 'INTEGER PRIMARY KEY'
    @datetime = 'DATETIME'
    @boolean = "INTEGER"
  when 'mysql'
    @pk = 'INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY'
    @datetime = 'DATETIME'
    @boolean = "TINYINT"
    @mysql_engine = 'InnoDB'
  else
    raise "Unknown db type #{db}"
  end

  s = ''
  Dir[RAILS_ROOT + '/db/*.erbsql'].each do |filename|
    s += ERB.new(File.read(filename)).result
  end
  s
end
