Project

dbagile

0.0
No commit activity in last 3 years
No release in over 3 years
Agile Interface on top of SQL Databases
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 2.0.9
~> 1.0
>= 0
~> 0.8.7
~> 2.4.0
~> 0.6.4

Runtime

>= 1.5.2
>= 0
>= 0
>= 0.1.4
>= 0.3.8
 Project Readme

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.