Skip to main content

stellar-p2p is a modified version of stellar, a tool for creating and restoring database snapshots

Project description

Stellar - Fast database snapshot and restore tool for development.
=======

[![Build Status](https://travis-ci.org/fastmonkeys/stellar.svg?branch=master)](https://travis-ci.org/fastmonkeys/stellar) 
![](http://img.shields.io/pypi/dm/stellar.svg) 
![](http://img.shields.io/pypi/v/stellar.svg)


Stellar allows you to quickly restore database when you are e.g. writing database migrations, switching branches or messing with SQL. PostgreSQL and MySQL (partially) are supported.

![Screenshot of Stellar terminal window](http://imgur.com/0fXXdcx.png)


Benchmarks
-------
Stellar is fast. It can restore a database ~140 times faster than using the usual
pg_dump & pg_restore.

![Benchmarking database restore speed](http://imgur.com/Md1AHXa.png)

How it works
-------

Stellar works by storing copies of the database in the RDBMS (named as stellar_xxx_master and stellar_xxxx_slave). When restoring the database, Stellar simply renames the database making it lot faster than the usual SQL dump. However, Stellar uses lots of storage space so you probably don't want to make too many snapshots or you will eventually run out of storage space.

**Warning: Please don't use Stellar if you can't afford data loss.** It's great for developing but not meant for production.

How to get started
-------

You can install Stellar with `pip`.

```$ pip install stellar```

After that, you should go to your project folder and initialize Stellar settings. Stellar initialization wizard will help you with that.

```$ stellar init```

Stellar settings are saved as 'stellar.yaml' so you probably want to add that to your `.gitignore`.

```$ echo stellar.yaml >> .gitignore```

Done! :dancers:


How to take a snapshot
-------

```$ stellar snapshot SNAPSHOT_NAME```

How to restore from a snapshot
-------

```$ stellar restore SNAPSHOT_NAME```

Common issues
-------

````
sqlalchemy.exc.OperationalError: (OperationalError) (1044, u"Access denied for user 'my_db_username'@'localhost' to database 'stellar_data'") "CREATE DATABASE stellar_data CHARACTER SET = 'utf8'" ()
`````

Make sure you have the rights to create new databases. See [Issue 10](https://github.com/fastmonkeys/stellar/issues/10) for discussion

If you are using PostreSQL, make sure you have a database that is named the same as the unix username. You can test this by running just `psql`. (See [issue #44](https://github.com/fastmonkeys/stellar/issues/44) for details)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stellar-p2p-0.4.5.1.tar.gz (12.9 kB view details)

Uploaded Source

File details

Details for the file stellar-p2p-0.4.5.1.tar.gz.

File metadata

File hashes

Hashes for stellar-p2p-0.4.5.1.tar.gz
Algorithm Hash digest
SHA256 8838c4c056d8992169e65bc20923a900fce1271c97ba6d460a915aa82f3f00fb
MD5 0eec49125f4514d38597acb62531a01f
BLAKE2b-256 2be9ed7858a72d7baeec2ed6e4997784b1ad7f03406334a1f8df6effe97b4ef2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page