Vino

Software Screenshot:
Vino
Software Details:
Version: 0.1.0
Upload Date: 20 Feb 15
Developer: Hsiaoming Yang
Distribution Type: Freeware
Downloads: 2

Rating: nan/5 (Total Votes: 0)

Vino is not ORM. Yes, it's true, it's not ORM.

Get Started

A quick view with Vino:

# setup
# db = Vino('engine://user:passwd@host:port/database')
db = Vino('sqlite://db.sqlite')

# query
db.table('user').find(username='lepture').fetch()

# create
db.table('user').create(username='lepture', website='http://lepture.com')
db.commit()

# update
db.table('user').find(username='lepture').update(username='Hsiaoming Yang')
db.commit()

# delete
db.table('user').find(username='lepture').delete()
db.commit()


Setup

We will only support sqlite3 and mysql by now.

SQLite

SQLite with relative path:

db = Vino('sqlite://relative/path/db.sqlite')

SQLite with absolute path:

db = Vino('sqlite:///root/path/db.sqlite')

Please note, it's different from SQLAlchemy.

MySQL

MySQL with all information:

db = Vino('mysql://lepture:123456@localhost:3306/test')

MySQL with less information:

db = Vino('mysql://lepture@localhost/test')

Default port is 3306.

Please note, it's utf8 by default.

Query

Find all data:

db.table('user').fetch()

Find all specified data:

db.table('user').find(username='lepture').fetch()

Find the first data:

# fetch 1 will not return a list
db.table('user').find(username='lepture').fetch(1)


Limit on query:

db.table('user').find(username='lepture').fetch(5, offset=3)

Multiple filters:

db.table('user').find(username='lepture', age=20).fetch()

Advanced filters:

# just like Django

db.table('user').find(age__in=[20, 22]).fetch()
db.table('user').find(age__gt=20).fetch()
db.table('user').find(age__lt=20).fetch()
db.table('user').find(age__gte=20).fetch()
db.table('user').find(age__lte=20).fetch()

# more see documentation


More Advanced filters:

db.table('user').find(age__ne=20).fetch() # not equal
db.table('user').find(age__nin=[20, 22]).fetch() # not in


# more see documentation

Query order:

db.table('user').find(age=20).order('-id').fetch()

Delete

Delete all data:

db.table('user').delete()
db.commit()


Delete specified data:

db.table('user').find(username='lepture').delete()
db.commit()

Requirements:

  • Python

Similar Software

JasperETL
JasperETL

3 Jun 15

SQLAntaresia
SQLAntaresia

14 Apr 15

ALVILA DataFlyer
ALVILA DataFlyer

11 May 15

Metabase
Metabase

11 May 15

Other Software of Developer Hsiaoming Yang

Selection.js
Selection.js

10 Dec 15

yue.css
yue.css

12 May 15

Comments to Vino

Comments not found
Add Comment
Turn on images!