Manual:Database layout/diagram instructions

PUBLIC LAW 104-201—SEPT. 23, 1996 110 STAT. 2519 "3963. Highest grade held satisfactorily: Reserve enlisted members reduced in grade not as a result of the member's misconduct.". (b) NAVY AND MARINE CORPS. —(1) Chapter 571 of title 10, United States Code, is amended by adding at the end the following new section: §6336. Highest grade held satisfactorily: Reserve enlisted members reduced in grade not as a result of the member's misconduct "(a) A member of the Naval Reserve or Marine Corps Reserve described in subsection (b) who is transferred to the Fleet Reserve or the Fleet Marine Corps Reserve under section 6330 of this title shall be transferred in the highest enlisted grade in which the member served on active duty satisfactorily, as determined by the Secretary of the Navy. "(b) This section applies to a Reserve enlisted member who— Applicability. "(1) at the time of transfer to the Fleet Reserve or Fleet Marine Corps Reserve is serving on active duty in a grade lower than the highest enlisted grade held by the member while on active duty; and "(2) was previously administratively reduced in grade not as a result of the member's own misconduct, as determined by the Secretary of the Navy. "(c) This section applies with respect to enlisted members of Applicability. the Naval Reserve and Marine Corps Reserve who are transferred to the Fleet Reserve or the Fleet Marine Corps Reserve after September 30, 1996.". (2) The table of sections at the beginning of such chapter is amended by adding at the end the following new item: "6336. Highest grade held satisfactorily: Reserve enlisted members reduced in grade not as a result of the member's misconduct.". (c) AIR FORCE.— (1) Chapter 869 of title 10, United States Code, is amended by inserting after section 8962 the following new section: §8963. Highest grade held satisfactorily: Reserve enlisted members reduced in grade not as a result of the member's misconduct "(a) A Reserve enlisted member of the Air Force described in subsection (b) who is retired under section 8914 of this title shall be retired in the highest enlisted grade in which the member served on active duty satisfactorily (or, in the case of a member of the National Guard, in which the member served on full-time National Guard duty satisfactorily), as determined by the Secretary of the Air Force. "(b) This section applies to a Reserve enlisted member who— Applicabihty. "(1) at the time of retirement is serving on active duty (or, in the case of a member of the National Guard, on fulltime National Guard duty) in a grade lower than the highest enlisted grade held by the member while on active duty (or full-time National Guard duty); and "(2) was previously administratively reduced in grade not as a result of the member's own misconduct, as determined by the Secretary of the Air Force. "(c) This section applies with respect to Reserve enlisted mem- Applicability. bers who are retired under section 8914 of this title after September 30, 1996.".

Data source
The data source and MySQL Workbench files used to generate the SVG is published at Krinkle/mwDatabaseSchema on GitHub.

Create diagram
If in doubt, ask Krinkle.


 * 1) Download and install MySQL Workbench.
 * 2) Download   (raw) from the latest stable MediaWiki version (currently:  ). Checkout the tag using Git, or download the tarball. If downloading from the web viewer, be sure to save as ".sql" instead of ".txt".
 * 3) Create new MySQL Workbench Model document.
 * 4) Look out for a "Templates" section that may contain an example "user" or "category" table by default. Delete these examples before the next step. Due to a bug, importing the MediaWiki schema will fail partially if these example templates are not deleted. (Workbench Version 6.3)
 * 5) Use "File / Import / Reverse Engineer SQL Script" to import MediaWiki's  . Be sure to use UTF-8 encoding and tick "Place imported objects on a diagram". Import of SQL script file '~/Downloads/.tables.sql' has finished. 40 tables, 0 views and 0 stored procedures were imported in 0 schemas.
 * 6) The tables are now drawn on the canvas. They're not organised yet, though. Use the  guide to decide which layers to create, and move around the table figures to in their respective layer box.
 * 7) Export to SVG.
 * 8) Edit SVG and trim the excessive space from the  's ,  , and    attributes. Easiest is to open it in a browser, lower the   values until there is little space left on the right and bottom (but not cropped). Then update the width and height attributes as well. For example, for mediawiki-schema-1.24.1   was the generated element, and trimmed to.
 * 9) Upload to Commons as   (Do not overwrite any existing diagram on Commons).
 * 10) *Add  to the Information template.
 * 11) Add it to  MediaWiki.
 * 12) Update the commons: File:MediaWiki database schema latest.svg redirect.

Layout
This is a description of the annotations and composition we use to visualise the relationships between tables.

For the captions, use the first line of the relevant manual page about that table.

Credits

 * Dprutean, started this in 2009 with the MediaWiki 1.10 schema diagram, using the DbSchema software.
 * Nickj, re-created the MediaWiki 1.10 schema diagram using MySQL Workbench and started documenting how to update it.
 * Krinkle, updating the schema diagrams and documentation 2011–2019.