We manage database schemas by a series of migrations defined in go code. We use a customized version of the Goose migrations tool to handle these migrations.
Note: Table migrations should be considered immutable once committed to the Fleet repo. Any changes to an existing table should occur in a new migration executing ALTERs.
Also, note that we don't use the `Down` part of the migrations anymore (older migrations did implement them). The `Down` function should just `return nil`, as we use forward-only migrations.
Note: Data migrations can be mutable. If tables are altered in a way that would render a data migration invalid (columns changed/removed), data migrations should be updated to comply with the new schema. Data migrations will not be re-run when they have already been run against a database, but they must be updated to maintain compatibility with a fresh DB.
Move the migration file from [server/datastore/mysql/migrations/tables/](../../server/datastore/mysql/migrations/tables/) to [server/datastore/mysql/migrations/data/](../../server/datastore/mysql/migrations/data/), and change the `package tables` to `package data`.