Skip to content

Commit

Permalink
Docs: update to reflect new test coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
evanelias committed May 25, 2018
1 parent 886496e commit 3b8ad32
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 8 deletions.
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -35,9 +35,9 @@ To download, build, and install Skeema, run:

Skeema is currently in public beta.

The `skeema` binary is supported on macOS and Linux. For now, it cannot be compiled on Windows. On the database side, testing has primarily been performed against MySQL 5.6, running on Linux.
The `skeema` binary is supported on macOS and Linux. For now, it cannot be compiled on Windows. On the database side, testing is primarily performed against MySQL 5.6 and 5.7, running on Linux.

Several InnoDB features (compression, partitioning, etc) and rare/new MySQL column types are not yet supported. Skeema is able to *create* or *drop* tables using these features, but not *alter* them. The output of `skeema diff` and `skeema push` clearly displays when this is the case. You may still make such alters directly/manually (outside of Skeema), and then update the corresponding CREATE TABLE files via `skeema pull`.
Several MySQL features (foreign keys, partitioning) and rare/new MySQL column types are not yet supported. Skeema is able to *create* or *drop* tables using these features, but not *alter* them. The output of `skeema diff` and `skeema push` clearly displays when this is the case. You may still make such alters directly/manually (outside of Skeema), and then update the corresponding CREATE TABLE files via `skeema pull`.

## Credits

Expand Down
6 changes: 5 additions & 1 deletion doc/faq.md
Expand Up @@ -59,9 +59,13 @@ When performing a large diff or push that affects dozens or hundreds of tables,

If a table uses a feature not supported by Skeema or its [Go La Tengo](https://github.com/skeema/tengo) automation library, such as compression or foreign keys, Skeema will refuse to generate ALTERs for the table. These cases are detected by comparing the output of `SHOW CREATE TABLE` to what Skeema thinks the generated CREATE TABLE should be, and flagging any discrepancies as tables that aren't supported for diffing or altering. This is noted in the output, and does not block execution of other schema changes. When in doubt, always check `skeema diff` as a safe dry-run prior to using `skeema push`.

#### Extensive automated testing suite

Skeema has an extensive suite of unit, integration, and functional tests; its library Tengo does as well. This suite includes testing against a Dockerized database instance of multiple versions of MySQL.

#### Pedigree

Skeema's author has been using MySQL for over 13 years, and is a former member of Facebook's elite team that maintains and automates the world's largest MySQL environment. Prior to Facebook, he started and led the database team at Tumblr, and created the open-source Ruby database automation library and shard-split tool [Jetpants](https://github.com/tumblr/jetpants). Rest assured that safety of data is baked into Skeema's DNA.
Skeema's author has been using MySQL for over 15 years, and is a former member of Facebook's elite team that maintains and automates the world's largest MySQL environment. Prior to Facebook, he started and led the database team at Tumblr, and created the open-source Ruby database automation library and shard-split tool [Jetpants](https://github.com/tumblr/jetpants). Rest assured that safety of data is baked into Skeema's DNA.

#### Responsibilities for the user

Expand Down
11 changes: 6 additions & 5 deletions doc/requirements.md
Expand Up @@ -2,11 +2,11 @@

### MySQL version and flavor

Skeema is currently being tested extensively against MySQL 5.6, running on Linux. Percona Server 5.6 should also work. Only the InnoDB storage engine is supported for now.
Skeema is tested extensively against MySQL 5.6 and 5.7, running on Linux. Percona Server 5.6 and 5.7 should also work fine. Only the InnoDB storage engine is primarily supported; other storage engines are often perfectly functional in Skeema, but it depends on whether any esoteric features of the engine are used.

Skeema is also expected to work on slightly older (5.5) or newer (5.7) versions as well, but won't be able to diff tables that use new features such as generated/virtual columns. Skeema automatically detects this situation, so there is no risk of generating an incorrect diff. If Skeema does not yet support a table/column feature that you need, please open a GitHub issue so that the work can be prioritized appropriately.
Some MySQL features -- such as foreign keys, partitioned tables, and generated/virtual columns -- are not yet supported in Skeema's diff operations. Skeema automatically detects this situation, so there is no risk of generating an incorrect diff. If Skeema does not yet support a table/column feature that you need, please open a GitHub issue so that the work can be prioritized appropriately.

Skeema is not currently intended for use on multi-master systems, including Galera, InnoDB Cluster, and traditional active-active master-master configurations. It also has not yet been evaluated on Amazon Aurora.
Skeema is not currently intended for use on multi-master replication topologies, including Galera, InnoDB Cluster, and traditional active-active master-master configurations. It also has not yet been evaluated on Amazon Aurora.

### Privileges

Expand Down Expand Up @@ -67,6 +67,8 @@ Many of these will be added in future releases.

Skeema does not yet support connecting to MySQL using SSL.

Due to protocol-level authentication changes, Skeema cannot interact with MySQL 8.0 yet. This will be fixed in the near future, as the Golang MySQL driver only added support for 8.0 connections very recently.

#### Ignored by Skeema

The following features are completely ignored by Skeema. Their presence in a schema won't immediately break anything, but Skeema will not interact with them. This means that `skeema init` and `skeema pull` won't create file representations of them; `skeema diff` and `skeema push` will not detect or alter them.
Expand All @@ -80,9 +82,8 @@ The following features are completely ignored by Skeema. Their presence in a sch
Skeema can CREATE or DROP tables using these features, but cannot ALTER them. The output of `skeema diff` and `skeema push` will note that it cannot generate or run ALTER TABLE for tables using these features, so the affected table(s) will be skipped, but the rest of the operation will proceed as normal.

* foreign keys
* compressed tables
* partitioned tables
* non-InnoDB storage engines
* some features of non-InnoDB storage engines
* fulltext indexes
* spatial types
* generated/virtual columns (MySQL 5.7+)
Expand Down

0 comments on commit 3b8ad32

Please sign in to comment.