pravasan alternatives and similar packages
Based on the "Database" category.
Alternatively, view pravasan alternatives based on common mentions on social networks and blogs.
-
prometheus
The Prometheus monitoring system and time series database. -
influxdb
Scalable datastore for metrics, events, and real-time analytics -
cockroach
CockroachDB - the open source, cloud-native distributed SQL database. -
Milvus
A cloud-native vector database, storage for next generation AI applications -
tidb
TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://tidbcloud.com/free-trial -
vitess
Vitess is a database clustering system for horizontal scaling of MySQL. -
TinyGo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM. -
groupcache
groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. -
VictoriaMetrics
VictoriaMetrics: fast, cost-effective monitoring solution and time series database -
immudb
immudb - immutable database based on zero trust, SQL and Key-Value, tamperproof, data change history -
go-cache
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. -
go-mysql-elasticsearch
Sync MySQL data into elasticsearch -
buntdb
BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support -
pREST
PostgreSQL ➕ REST, low-code, simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new -
rosedb
🚀 A high performance NoSQL database based on bitcask, supports string, list, hash, set, and sorted set. -
xo
Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server -
dbmate
:rocket: A lightweight, framework-agnostic database migration tool. -
tiedot
A rudimentary implementation of a basic document (NoSQL) database in Go -
nutsdb
A simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set. -
cache2go
Concurrency-safe Go caching library with expiration capabilities and access counters -
GCache
An in-memory cache library for golang. It supports multiple eviction policies: LRU, LFU, ARC -
fastcache
Fast thread-safe inmemory cache for big number of entries in Go. Minimizes GC overhead -
gocraft/dbr (database records)
Additions to Go's database/sql for super fast performance and convenience. -
CovenantSQL
A decentralized, trusted, high performance, SQL database with blockchain features
Access the most powerful time series database as a service
Do you think we are missing an alternative of pravasan or a related project?
README
Pravasan
Simple Migration tool intend to be used for any languages, for any db.
Please feel free to criticize, comment, etc. Currently this is working for MySQL, PostgreSQL. Soon will be available for other Databases too.
Definition in Hindi
प्रवसन {pravasan} = MIGRATION(Noun)
Install
- Choose proper OS & Download from http://pravasan.github.io/pravasan/#download
- Unzip / Untar the file downloaded
- For some OS its default but some it needs to be explicit add
chmod +x pravasan_*
- Look at the below Usage and start using it from the folder where you would like to execute & store migration files.
Usage
Syntax
pravasan [<flags>] <action> <sub-action> [data input]
Flags
Usage of pravasan:
-autoAddColumns="": Add default columns when table is created
-confOutput="json": config file format: json, xml
-d="": database name
-dbType="mysql": database type
-h="localhost": database hostname
-indexPrefix="idx": prefix for creating Indexes
-indexSuffix="": suffix for creating Indexes
-migDir="./": migration file stored directory
-migFileExtn="prvsn": migration file extension
-migFilePrefix="": prefix for migration file
-migOutput="json": current supported format: json, xml
-migTableName="schema_migrations": migration table name
-p=false: database password
-port="5432": database port
-storeDirectSQL=true: Store SQL in migration file instead of XML / JSON
-u="": database username
-version=false: print Pravasan version
To create the configuration file use either of the below commands & pravasan.conf.json / pravasan.conf.xml will be created
pravasan -u="root" -p -dbType="mysql" -d="testdb" -h="localhost" -port="5433" create conf
pravasan -u=root -p -dbType=postgres -d=testdb -h=localhost -port=5433 -output=xml create conf
Assuming the pravasan.conf.json or pravasan.conf.xml file is set already
pravasan add add_column test123 id:int
pravasan a ac test123 id:int # Same as above
pravasan add add_index test123 id order name
pravasan add create_table test123 id:int name:string order:int status:bool
pravasan a ct test123 id:int name:string order:int status:bool # Same as above
pravasan add drop_column test123 id
pravasan add drop_index test123 id order name
pravasan add rename_table test123 new_test123
pravasan add sql # to add SQL statements directly.
pravasan down [-1]
pravasan up
pravasan up 20150103174227, 20150103174333
If you like not to store the credentials in file then use it like this
pravasan -u=root -p -dbType=postgres -d=testdb -h=localhost -port=5433 up 20150103174227
Work in progress are:
- [ ] Support for Oracle, MongoDB, etc.,
High Level Features
- [x] Create & read from Conf file (XML / JSON)
- [x] Output in XML, JSON format
- [x] Support for Direct SQL Statements
- [x] Support for MySQL, Postgres
- Temporarily SQLite3 is stopped - due to compile issue.
All Features / Bugs
Few Other Notes:
- moved from https://github.com/kishorevaishnav/godbmig
Details
Add few columns by default during creation of a table.
$ pravasan -autoAddColumns: id:int created_at:datetime modified_at:datetime create conf
The above command will add the 3 columns id
, created_at
, modified_at
will be stored in configuration & will get added during any create_table
statements.
To store direct sql in JSON or XML format
$ pravasan -storeDirectSQL a ct test123 id:int
The above command will add (a
) a migration & will generate create_table (ct
) action with the table name test123
with only one column id
of datatype int
as SQL into the JSON (by default) or XML if there is an configuration file present and set XML to generate.
To get the list of datatypes supported
$ pravasan list datatypes # All databases
$ pravasan l dt # All databases
$ pravasan list dt postgresql # Will list datatypes supported by PostgreSQL
$ pravasan list datatypes sqlite3 # Will list datatypes supported by SQLite3
$ pravasan l dt mysql # Will list datatypes supported by MySQL
Below is the sample output for the above last command.
+-------------------+-----------------------+--------------+
| DATATYPE | SUPPORTED DATABASE(S) | ALIAS |
+-------------------+-----------------------+--------------+
| VARCHAR | MySQL | |
| VARBINARY | MySQL | |
| MEDIUMBLOB | MySQL | |
| LONGBLOB | MySQL | |
| DATE | MySQL | |
| REAL | MySQL | |
| DEC | MySQL | DECIMAL |
| NUMERIC | MySQL | DECIMAL |
| STRING | MySQL | VARCHAR(255) |