The tag is currently not very useful as it collides with many other more specific tags (viz , , , ), and obscures a class of questions it could otherwise uniquely identify.

Current Excerpt,

the process of moving databases or data from one place to another

Current Wiki,

Examples of migrations:

  • Moving databases across machines or instances (e.g. host1 -> host2)
  • Moving databases across different platforms (e.g. MySQL -> SQL Server)
  • Moving large amounts of data in a one-time change (e.g. [ETL][1])

2 Answers 2


This answer disagrees that major changes to the tag excerpt or wiki are required.

Maybe the existing content could be tweaked slightly to emphasise that the tag is primarily for one-off or irregular data migrations (discussed below).

It seems wrong (to take an example) to tag a question about moving data from one physical host or location to another (on the same platform and version) as , , , or . None of those tags have suitable excerpts for this example:

Upgrade implies a (usually upward) change to version or release on the same platform. (It is fairly common to hear side-by-side (not in-place) upgrades referred to as migrations, but I believe these are more usefully tagged as upgrades). If the software isn't changing, it isn't an upgrade.

ETL (or ELT) is certainly related to data migration, but it is tough to argue that one is a proper superset of the other. ETL is most commonly associated with regular, similar, data transfer operations, usually including transformation, and often associated with maintaining a derived or aggregated view of the data e.g. in a data warehouse.

A migration is most usually a large, one-off, or irregular exercise. ETL may be one means to achieve a migration (in some cases), but it is hardly the most common one. I wouldn't personally go looking for such questions under , and wouldn't expect site ETL tag statistics to include data migrations.

The argument that installation or configuration somehow necessarily includes any data transfer seems a very weak one to me (and quite counter-intuitive). People searching or subscribing to these tags expect to find questions matching their excerpts: installing a product or application, and choosing settings respectively. Nowhere do they say anything about moving data around, and nor should they, in my view.

Attempting to enforce some particular interpretation of the word "migration" may (or may not) be more technically correct, but if all it does it add to the site's housekeeping workload without any clear, practical benefits, it is a bad change. Especially so without a team of people willing to commit to maintain that interpretation and its application over the long term.

Anyone looking for question tag maintenance work to do on the site will surely not be short of higher-value things to do already.

  • All levels of definition add to housekeeping when there is a violation. The goal is to direct people the right way off the bat. I don't think any of the arguments here you've raised are good. At the end, I suppose you just think a supertag that represents installation/configuration/etl/upgrading, etc should all fit under "migration" or you think migration should be useful and communicate something unique. It has one unique thing, and lots of overlap I don't see that addressed here. May 31, 2017 at 19:31
  • 2
    @Evan I'm just presenting an alternate point of view since no one else did yet. I'm afraid I am unable to parse your comment past "At the end...".
    – Paul White Mod
    Jun 1, 2017 at 11:07
  • what about the comparison of schemas among the two db instances, such as development and production? Aug 22, 2018 at 11:47
  • @KapilBhagchandani You should ask a new meta question about that.
    – Paul White Mod
    Aug 22, 2018 at 12:06

I'm suggesting we break this apart. We already have a tag for . It's actively used. If every ETL script is also a "migration" then we have a redundant subclass tag. My suggestion is that we preserve "etl".

Further, moving databases from hosts on the same set up is not meaningfully a migration. It's and . Both of which already have tags. If I have the data directory on a local box and I want to move it to AWS, I'm not migrating data. I'm just re-configuring my RDBMS. For moving to a newer version use .

That leaves one point remaining for which is migration across platforms. That one point is major and it's useful for our community to have a unique tag for that. If that point could be defined by any other tag, this tag would be totally redundant.

Suggested Fix

Suggested Excerpt

Schema and infrastructure changes required to move from one database to another database. This is distinct from upgrading, installation, configuration, and ETL-scripts.

Suggested Tag Wiki

A migration is when you move from one distribution to another. An example would be from to .

Changing mere versions is not a migration though it may be an . And despite the colloquial use of "migration" for configuring the same database elsewhere geographically or to another setup, this is a function of and .

Loading data is also not "migration." See the tag for assistance with Extract-Transform-Load (ETL) scripts.

  • 3
    Some feedback: I don't think every ETL scripts is also a "migration" is a valid statement. There seem to be obvious differences between the two. You don't explain moving databases from hosts on the same set up is not meaningfully a migration - why not? Migrating a system from local to the cloud seems much more than re-configuring my RDBMS. Your suggested excerpt mentions schema and infrastructure changes but this is not explained in your answer. The Wiki contains from one distribution to another which is odd - we might call them platforms or products, but "distributions"?
    – Paul White Mod
    Jun 1, 2017 at 11:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .