Git Product home page Git Product logo

garage's Introduction

Garage

Database drivers for the Pharo language.

Drivers

Garage currently has drivers for:

  • PostgreSQL V2
  • MySQL
  • SQLLite 3

Install Garage

To install Garage on your Pharo image you can just execute the following script:

    Metacello new
    	githubUser: 'pharo-rdbms' project: 'garage' commitish: 'master' path: '';
    	baseline: 'Garage';
    	load

To add Garage Seaside to your baseline just add this:

    spec
    	baseline: 'Garage'
    	with: [ spec repository: 'github://pharo-rdbms/garage:master' ]

Note that you can replace the #master by another branch as #development or a tag as #v1.0.0, #v1.?.

You can also load a specific driver adding this snippet to your baseline:

	spec
		baseline: 'Garage'
		with: [ spec
				loads: 'postgresV2';
				repository: 'github://pharo-rdbms/garage' ]

Possible drivers been:

  • postgresV2
  • sqlite3
  • mysql

garage's People

Contributors

estebanlm avatar guillep avatar jecisc avatar lolgzs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

garage's Issues

Maintainer?

Sorry, but I do not get it. I tried to make it run here in an Pharo 8.x
And I think I quite suceeded, but I'd to patch the stuff.

So who's the maintainer, and how can I get in touch with him?

Split setup scripts per database

Today, all jobs are paying a bit the prices of other jobs because we need to make an homogeneous infrastructure to run the tests depending on the platform. For example:

  • all osx jobs are taking ~5 minutes because they require updating brew and installing mysql. This happens because osx slaves do not come with mysql installed by default
if [[ $TRAVIS_OS_NAME == "osx" ]]; then brew update > /dev/null && brew install mysql && mysql.server start; fi
  • all linux jobs are reinstalling sqlite3 even for non-sqlite jobs
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
    sudo apt-get autoremove sqlite3;
    sudo apt-add-repository -y ppa:travis-ci/sqlite3;
    sudo apt-get -y update;
    sudo apt-cache show sqlite3;
    sudo apt-get install sqlite3=3.7.15.1-1~travis1;
    sudo sqlite3 -version;
fi;
  • all osx jobs are also making a by-hand startup of postgres
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
    export PG_DATA=$(brew --prefix)/var/postgres;
    rm -rf ${PG_DATA} && initdb ${PG_DATA} -E utf8;
    pg_ctl -w start -l postgres.log --pgdata ${PG_DATA};
    createuser -s postgres;
    cat postgres.log;
fi;

We should make that specific scripts for each database are run for each database. And try to do it outside the .travis.yml file because it starts to get too complicated.

Should reference Pharo-SQLite3 rather than contain a copy of the code

Having a broken copy of SQLite3 code inside garage is kind of useless. I would like to see garage contain only adapters and references to external database drivers to allow people to pick and choose what drivers they would like to run while still providing a common interface like PHP PDO, ODBC, JDBC, etc.

Create a release

It would be great to have a release of Garage to be able to point to a stable version instead of a branch that might break in the future.

Is a release planned?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.