<commit_before>Rough steps for upgrading your existing Emulab.

0. "Shutdown" the testbed.  Disable the web interface and prevent user
   logins to "users".  [ We really need a way to stop all Emulab daemons,
   etc. that might be confused by DB changes. ]

1. Look at doc/UPDATING to find out what you have to update in the
   boss/ops FreeBSD environment before updating Emulab software.
   Entries are timestamped, so look for things that have changed since
   the last you installed.

2. Unpack and build the Emulab software.  You should do this in a directory
   accessible to your tipserv, ops and boss nodes (e.g., /users) to make
   the various installs easier.

3. BACKUP YOUR DB.  Do:
	mysqldump tbdb > db.backup

4. Update the DB.  Look at sql/database-migrate.txt which is a list of
   SQL commands to perform.  Diff the version of this file from the last
   release, with the version from this release to find which ones to apply.

   If anything goes wrong with this step, contact us.  You can put back
   the old db:
       mysql
       drop tbdb
       create tbdb
       quit<commit_msg>Fix up SQL commands, and note that datbase-migrate.txt sometimes contains instructions other than just SQL to run.<commit_after>Rough steps for upgrading your existing Emulab.

0. "Shutdown" the testbed.  Disable the web interface and prevent user
   logins to "users".  [ We really need a way to stop all Emulab daemons,
   etc. that might be confused by DB changes. ]

1. Look at doc/UPDATING to find out what you have to update in the
   boss/ops FreeBSD environment before updating Emulab software.
   Entries are timestamped, so look for things that have changed since
   the last you installed.

2. Unpack and build the Emulab software.  You should do this in a directory
   accessible to your tipserv, ops and boss nodes (e.g., /users) to make
   the various installs easier.

3. BACKUP YOUR DB.  Do:
	mysqldump tbdb > db.backup

4. Update the DB.  Look at sql/database-migrate.txt which is a list of
   SQL commands to perform. In some cases, it also includes instructions
   regarding operations you need to perform on your data to make it work
   in the new schema.  Diff the version of this file from the last release,
   with the version from this release to find which ones to apply.

   If anything goes wrong with this step, contact us.  You can put back
   the old db:
       mysql
       drop database tbdb;
       create database tbdb;
       quit
{'fraction_non_alphanumeric': 0.042122316727420006, 'fraction_numerical': 0.004050222762251924, 'mean_word_length': 3.0558292282430215, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1839551', 'n_tokens_mistral': 690, 'n_tokens_neox': 681, 'n_words': 387}