# Geavanceerde migraties (Ruby on Rails) > Complexe migraties, reversible migrations, datamigraties, rollbacks, DB-constraints vs. validaties, safe migrations - 20 gespreksvragen - Mid-Level - [Gespreksvragen: Ruby on Rails](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen.md) ## 1. Wat is het verschil tussen de methoden change en up/down in een Rails-migratie? **Antwoord** De change-methode is een vereenvoudigde syntaxis die in Rails 3.1 is geïntroduceerd en waarmee Rails de omgekeerde bewerking automatisch kan afleiden. Het werkt voor de meeste veelvoorkomende bewerkingen zoals add_column of create_table. De methoden up en down bieden expliciete controle over toepassings- en rollback-bewerkingen, wat noodzakelijk is wanneer Rails de omkering niet automatisch kan afleiden, zoals bij het verwijderen van gegevens of complexe transformaties. ## 2. Hoe maak je een migratie omkeerbaar wanneer Rails de omgekeerde bewerking niet automatisch kan afleiden? **Antwoord** Met het reversible-blok kun je up- en down-bewerkingen expliciet definiëren binnen een change-methode. Dit is bijzonder nuttig voor bewerkingen zoals remove_column, waarbij Rails het kolomtype en de opties moet kennen om de kolom tijdens een rollback opnieuw te maken. Het reversible-blok biedt de flexibiliteit van up/down terwijl de moderne change-syntaxis behouden blijft. ## 3. Welk commando maakt het mogelijk om meerdere migraties in één bewerking terug te draaien? **Antwoord** Het commando rails db:rollback STEP=n maakt het mogelijk om de laatste n uitgevoerde migraties terug te draaien. STEP=3 draait bijvoorbeeld de laatste drie migraties terug in omgekeerde volgorde van hun uitvoering. Zonder de optie STEP wordt alleen de laatste migratie teruggedraaid. Dit commando is handig om tijdens de ontwikkeling snel terug te keren naar een eerdere databasetoestand. ## Nog 17 vragen beschikbaar - Waarom moet je het gebruik van ActiveRecord-modelreferenties in datamigraties vermijden? - Wat is de beste praktijk voor het uitvoeren van een datamigratie in productie op een grote tabel? Meld je gratis aan: https://sharpskill.dev/nl/login ## Andere Ruby on Rails-sollicitatieonderwerpen - [Ruby-basis](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/ruby-basics.md): 25 vragen, Junior - [Objectgeoriënteerd programmeren in Ruby](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/ruby-oop.md): 20 vragen, Junior - [Rails-grondbeginselen](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/rails-fundamentals.md): 18 vragen, Junior - [Routing & Controllers](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/routing-controllers.md): 22 vragen, Junior - [ActiveRecord-basis](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/active-record-basics.md): 25 vragen, Junior - [Views & ERB-templates](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/views-erb-templates.md): 20 vragen, Junior - [ActiveRecord-associaties](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/active-record-associations.md): 24 vragen, Mid-Level - [Geavanceerde ActiveRecord-query's](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/active-record-queries.md): 28 vragen, Mid-Level - [Rails-formulieren](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/rails-forms.md): 20 vragen, Mid-Level - [Authenticatie & autorisatie](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/authentication-authorization.md): 22 vragen, Mid-Level - [Moderne Asset Pipeline & frontend](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/rails-asset-pipeline.md): 18 vragen, Mid-Level - [Rails API-modus](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/rails-api-mode.md): 20 vragen, Mid-Level - [Testen met RSpec](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/rails-testing-rspec.md): 24 vragen, Mid-Level - [ActiveJob & Background Jobs](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/active-job-background-jobs.md): 20 vragen, Mid-Level - [ActionCable & WebSockets](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/action-cable-websockets.md): 18 vragen, Mid-Level - [ActionMailer](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/action-mailer.md): 18 vragen, Mid-Level - [ActiveStorage](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/active-storage.md): 20 vragen, Mid-Level - [Cachingstrategieën](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/caching-strategies.md): 20 vragen, Mid-Level - [Rails Engines & modulaire apps](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/rails-engines-modular-apps.md): 18 vragen, Senior - [Prestatie-optimalisatie](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/performance-optimization.md): 26 vragen, Senior - [Rails Design Patterns](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/rails-design-patterns.md): 22 vragen, Senior - [Ruby-metaprogrammering](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/ruby-metaprogramming.md): 20 vragen, Senior - [Rails-beveiliging](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/rails-security.md): 22 vragen, Senior - [GraphQL met Rails](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/graphql-rails.md): 20 vragen, Senior - [Deployment & Productie](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/rails-deployment-production.md): 20 vragen, Senior - [Monitoring & Logging](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/monitoring-logging.md): 20 vragen, Senior - [Rails-upgradestrategieën](https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/rails-upgrade-strategies.md): 18 vragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/technologies/ruby-on-rails/sollicitatievragen/database-migrations-advanced