Skip to main content
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)

Metadata

Release files for stellar 0.4.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for stellar 0.4.5
File Size Uploaded
stellar-0.4.5.tar.gz 12.1 kB Details

Release files / stellar-0.4.5.tar.gz

Download URL stellar-0.4.5.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8edd4d19900d47d7e17f1f51dedf7a3cf1e1283d2e52c084b3f69b761f3ae5ce
BLAKE2b-256 checksum
How to use checksums
f831091f71810f010241544e9fd0ff794937f86a342693ccbbd542cba205f335
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.4.5 This release

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page