ElixirConf 2023 - Tyler Young - Rebuilding the Plane While It’s Still Flying

Learn how to successfully rebuild your Elixir application while it's still in use with schema and data migrations, and discover the importance of clear understanding, planning, and thorough testing to ensure a smooth transition.

Key takeaways
  • Migrations are a crucial aspect of software development, but they can be challenging and time-consuming.
  • Two types of migrations: schema migrations (changing the structure of the database) and data migrations (changing the contents of the database).
  • Schema migrations are often used to refactor code and improve performance, while data migrations are used to transfer data from one format to another.
  • Migrations can be complex and may require a deep understanding of the system being migrated.
  • Use excellent migrations to make the migration process easier and more efficient.
  • Migrations can be done in different ways, such as through a change set or by updating the database schema.
  • The key to successful migrations is having a clear understanding of the system being migrated and a planned approach.
  • It’s important to test migrations thoroughly to ensure that they work as expected.
  • Migrations can be used to improve the performance and scalability of a system.
  • Migrations can be used to add new features and functionality to a system.
  • Migrations can be used to refactor code and improve maintainability.
  • Migrations can be used to fix bugs and errors in a system.
  • A well-planned migration can help ensure that the system is stable and reliable.
  • A well-executed migration can help improve the performance and scalability of the system.
  • Migrations can be used to improve the maintainability of a system.
  • Migrations can be used to improve the reliability of a system.