Skip to content

Commit

Permalink
FAQ: add required extension
Browse files Browse the repository at this point in the history
Github-fix: denisenkom#265
Signed-off-by: Nicolas Sebrecht <[email protected]>
  • Loading branch information
Nicolas Sebrecht committed Jul 28, 2017
1 parent bfe5026 commit d837bcc
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,39 +16,39 @@
NilMigration defines a migration without a body. NilVersion is defined as const -1.

#### What is the difference between uint(version) and int(targetVersion)?
version refers to an existing migration version coming from a source and therefor can never be negative.
targetVersion can either be a version OR represent a NilVersion, which equals -1.
version refers to an existing migration version coming from a source and therefor can never be negative.
targetVersion can either be a version OR represent a NilVersion, which equals -1.

#### What's the difference between Next/Previous and Up/Down?
```
1_first_migration.up next -> 2_second_migration.up ...
1_first_migration.down <- previous 2_second_migration.down ...
1_first_migration.up.extension next -> 2_second_migration.up.extension ...
1_first_migration.down.extension <- previous 2_second_migration.down.extension ...
```

#### Why two separate files (up and down) for a migration?
It makes all of our lives easier. No new markup/syntax to learn for users
It makes all of our lives easier. No new markup/syntax to learn for users
and existing database utility tools continue to work as expected.

#### How many migrations can migrate handle?
Whatever the maximum positive signed integer value is for your platform.
For 32bit it would be 2,147,483,647 migrations. Migrate only keeps references to
the currently run and pre-fetched migrations in memory. Please note that some
Whatever the maximum positive signed integer value is for your platform.
For 32bit it would be 2,147,483,647 migrations. Migrate only keeps references to
the currently run and pre-fetched migrations in memory. Please note that some
source drivers need to do build a full "directory" tree first, which puts some
heat on the memory consumption.
heat on the memory consumption.

#### Are the table tests in migrate_test.go bloated?
Yes and no. There are duplicate test cases for sure but they don't hurt here. In fact
the tests are very visual now and might help new users understand expected behaviors quickly.
Migrate from version x to y and y is the last migration? Just check out the test for
Migrate from version x to y and y is the last migration? Just check out the test for
that particular case and know what's going on instantly.

#### What is Docker being used for?
Only for testing. See [testing/docker.go](testing/docker.go)

#### Why not just use docker-compose?
It doesn't give us enough runtime control for testing. We want to be able to bring up containers fast
and whenever we want, not just once at the beginning of all tests.

#### Can I maintain my driver in my own repository?
Yes, technically thats possible. We want to encourage you to contribute your driver to this respository though.
The driver's functionality is dictated by migrate's interfaces. That means there should really
Expand All @@ -64,4 +64,4 @@
which prevents attempts to run more migrations on top of a failed migration. You need to manually fix the error
and then "force" the expected version.


0 comments on commit d837bcc

Please sign in to comment.