Skip to content

blambeau/dbagile

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 

DbAgile – SQL Databases with Agility

DbAgile aims at providing agile tools around databases, and relational/sql databases in particular.

Motivation

Have you ever dreamed of having one central point for keeping your database access infos?

  sh$ dba db:list
  sh$ dba db:use my_contacts

Or displaying a SQL table (say, ‘contacts’) in one shell command?

  sh$ dba sql:show contacts

Or to output the result of any SQL query to yaml, json, csv, ruby, … or even xml?

  sh$ dba bulk:export --yaml "SELECT name, mail FROM contacts" 

Or to have a Restful server on top of SQL databases?

  dba web:tools

Making similar things, … in Ruby?

  DbAgile::dba do |dba|
    # Override environment default values (~/.dbagile, STDOUT)
    dba.repository_path  = ...      # your application database repository
    dba.output_buffer     = ...     # keep output in any IO object
  
    # Start using dbagile commands
    dba.bulk_export %w{--yaml contacts}  # each line pushed in output_buffer
  end

The Rack middleware for the restful server (config.ru):

  #!/usr/bin/env rackup --require dbagile/restful/middleware -p 8711
  app = DbAgile::Restful::Middleware.new{|env|
    #
    # Set the environment!
    #
    # WARNING: Always use ::File instead of File because constants are
    #          resolved in Rack scope, which contains a File class. Not
    #          doing this may mead to bugs in certain ruby versions.
    #
    env.repository_path  = ::File.expand_path('../dbagile', __FILE__)
  }

Pointers

  • DbAgile developper documentation on rdoc.info

Installation

  gem install dbagile (required dependencies are automatically installed)
  dba --help

Required dependencies:

  • sbyc >= 0.1.4
  • sequel >= 3.8.0
  • highline >= 1.5.2

Optional dependencies (according to your needs):

  • mysql, pg, sqlite, … (according to your sql database needs)
  • json (only if you use json import/export)
  • fastercsv (only if you use csv import/export)
  • yaml (only if you use yaml import/export)
  • builder (only if you use xml export)
  • rack >= 1.1.0 (only if you use the restful server)

Credits

DbAgile © 2010 by Bernard Lambeau and the University of Louvain. DbAgile is distributed under the MIT licence. Please see the LICENCE.textile document for details.

About

Agile SQL databases and tools for database administrators

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages