Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
7b0e7bcf
Commit
7b0e7bcf
authored
Mar 22, 2018
by
Brett Walker
Committed by
Robert Speicher
Mar 22, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
make a little more obvious what operations might need downtime or enhanced migration techniques
parent
e3bf4931
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
4 deletions
+12
-4
doc/development/migration_style_guide.md
doc/development/migration_style_guide.md
+12
-4
No files found.
doc/development/migration_style_guide.md
View file @
7b0e7bcf
...
...
@@ -23,10 +23,6 @@ When downtime is necessary the migration has to be approved by:
An up-to-date list of people holding these titles can be found at
<https://about.gitlab.com/team/>
.
The document
[
"What Requires Downtime?"
](
what_requires_downtime.md
)
specifies
various database operations, whether they require downtime and how to
work around that whenever possible.
When writing your migrations, also consider that databases might have stale data
or inconsistencies and guard for that. Try to make as few assumptions as
possible about the state of the database.
...
...
@@ -41,6 +37,18 @@ Migrations that make changes to the database schema (e.g. adding a column) can
only be added in the monthly release, patch releases may only contain data
migrations _unless_ schema changes are absolutely required to solve a problem.
## What Requires Downtime?
The document
[
"What Requires Downtime?"
](
what_requires_downtime.md
)
specifies
various database operations, such as
-
[
adding, dropping, and renaming columns
](
what_requires_downtime.md#adding-columns
)
-
[
changing column constraints and types
](
what_requires_downtime.md#changing-column-constraints
)
-
[
adding and dropping indexes, tables, and foreign keys
](
what_requires_downtime.md#adding-indexes
)
and whether they require downtime and how to work around that whenever possible.
## Downtime Tagging
Every migration must specify if it requires downtime or not, and if it should
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment