Sagen wir, ich arbeite in git
auf meiner Rails
App, und ich habe zwei Zweige, jeder mit ihrer eigenen Migration.Zusammenführen von ActiveRecord-Migrationen außer Betrieb
1) branch001
erstellt eine Tabelle tableA
über Migration 20160101000000_create_table_A
2) genannt branch002
erstellt eine Tabelle tableB
über Migration 20160101000001_create_table_B
Klar, dass die Zeitstempel für die 2. Migration genannt nach die ersten erstellt wurden.
Aber sagen wir, ich fusioniere zuerst branch002
zu master
, weil es zuerst fertig ist. Meine Schemadatei wird -
ActiveRecord::Schema.define(version: 20160101000001) do
....
end
Das Schema Version erzählt Active es bereits auf ein Niveau/Version größer als mein erster Zweig gepatcht wird.
Was passiert, wenn ich endlich meine erste Filiale zusammenfasse?
- Wird die Schemaversion auf
20160101000000
zurückgehen? - Gibt es Probleme bei der Migration des ersten Zweigs, weil das Schema sieht, dass es bereits "gepatcht" ist und es überspringt?
- Im Allgemeinen, was ist die beste Praxis für solche Dinge? Soll ich den ersten Zweig mit einem neuen, jüngeren Zeitstempel umbenennen?
Vielen Dank!
EDIT -
wirklich fragen, was ich soll die Zusammenführung Konflikt zu lösen, wenn ich den zweiten Zweig in master
verschmelzen. Soll ich es als späteren Zeitstempel belassen oder zum früheren Zeitstempel zurückentwickeln?
<<<<<<< HEAD (master)
ActiveRecord::Schema.define(version: 20160101000001) do
=======
ActiveRecord::Schema.define(version: 20160101000000) do
>>>>>>> 282cda7... Adding Table B