buzzn / core

Die Kraft der Gemeinschaft
GNU Affero General Public License v3.0
1 stars 0 forks source link

fix migrations to get staging back to work #678

Closed ChriWiChris closed 7 years ago

ChriWiChris commented 7 years ago

This is really important as it is one of our last steps before deploying production.

Some of the migrations don't work properly when migrating the staging environment. That's why there are some missing DB objects etc.

To reproduce this I went back to commit 655f73e06cb6a5b9cac2fe2110400d4e172521d9 which we are running on production. Then i ran db:init and went back to our current commit, b662ebdcb4922c2513c1b8ed46ec0b8bd001d601, where i ran db:migrate. This produced the following output:

== 20161110152656 AddFieldsToOrganization: migrating ==========================
-- add_column(:organizations, :market_place_id, :string)
   -> 0.0008s
-- add_column(:organizations, :represented_by, :string)
   -> 0.0003s
== 20161110152656 AddFieldsToOrganization: migrated (0.0013s) =================

== 20161110152952 AddFieldsToContractingParty: migrating ======================
-- add_column(:contracting_parties, :retailer, :boolean)
   -> 0.0013s
-- add_column(:contracting_parties, :provider_permission, :boolean)
   -> 0.0007s
-- add_column(:contracting_parties, :subject_to_tax, :boolean)
   -> 0.0009s
-- add_column(:contracting_parties, :mandate_reference, :string)
   -> 0.0007s
-- add_column(:contracting_parties, :creditor_id, :string)
   -> 0.0008s
== 20161110152952 AddFieldsToContractingParty: migrated (0.0049s) =============

== 20161110184053 AddMoreFieldsToContract: migrating ==========================
-- add_column(:contracts, :renewable_energy_law_taxation, :string)
   -> 0.0028s
-- add_column(:contracts, :third_party_billing_number, :string)
   -> 0.0022s
-- add_column(:contracts, :third_party_renter_number, :string)
   -> 0.0019s
-- add_column(:contracts, :first_master_uid, :string)
   -> 0.0015s
-- add_column(:contracts, :second_master_uid, :string)
   -> 0.0004s
-- add_column(:contracts, :metering_point_operator_name, :string)
   -> 0.0003s
-- add_column(:contracts, :old_electricity_supplier_name, :string)
   -> 0.0004s
-- remove_column(:contracts, :tariff)
   -> 0.0005s
-- remove_column(:contracts, :price_cents)
   -> 0.0005s
-- remove_column(:contracts, :price_currency)
   -> 0.0003s
-- remove_column(:contracts, :running)
   -> 0.0004s
-- remove_column(:contracts, :retailer)
   -> 0.0003s
-- remove_column(:contracts, :price_cents_per_kwh)
   -> 0.0003s
-- remove_column(:contracts, :price_cents_per_month)
   -> 0.0004s
-- remove_column(:contracts, :discount_cents_per_month)
   -> 0.0004s
== 20161110184053 AddMoreFieldsToContract: migrated (0.0142s) =================

== 20161115085848 CreateTariff: migrating =====================================
-- create_table(:tariffs, {:id=>:uuid})
   -> 0.0588s
== 20161115085848 CreateTariff: migrated (0.0589s) ============================

== 20161115150524 CreatePayment: migrating ====================================
-- create_table(:payments, {:id=>:uuid})
   -> 0.0347s
== 20161115150524 CreatePayment: migrated (0.0349s) ===========================

== 20161116104658 RenameTableMeteringPointToRegister: migrating ===============
-- rename_index(:metering_points, "index_metering_points_on_contract_id", "index_registers_on_contract_id")
   -> 0.0004s
-- rename_index(:metering_points, "index_metering_points_on_group_id", "index_registers_on_group_id")
   -> 0.0003s
-- rename_index(:metering_points, "index_metering_points_on_meter_id", "index_registers_on_meter_id")
   -> 0.0003s
-- rename_index(:metering_points, "index_metering_points_on_readable", "index_registers_on_readable")
   -> 0.0002s
-- rename_table(:metering_points, :registers)
   -> 0.0044s
== 20161116104658 RenameTableMeteringPointToRegister: migrated (0.0058s) ======

== 20161116115800 RenameTableDashboardMeteringPointToDashboardRegister: migrating 
-- rename_index(:dashboard_metering_points, "index_dashboard_metering_points_on_dashboard_id", "index_dashboard_registers_on_dashboard_id")
   -> 0.0006s
-- rename_index(:dashboard_metering_points, "index_dashboard_metering_points_on_metering_point_id", "index_dashboard_registers_on_register_id")
   -> 0.0003s
-- rename_table(:dashboard_metering_points, :dashboard_registers)
   -> 0.0039s
== 20161116115800 RenameTableDashboardMeteringPointToDashboardRegister: migrated (0.0050s) 

== 20161116122929 RenameTableMeteringPointUserRequestsToRegisterUserRequests: migrating 
-- rename_index(:metering_point_user_requests, "index_metering_point_user_requests_on_metering_point_id", "index_register_user_requests_on_register_id")
   -> 0.0003s
-- rename_index(:metering_point_user_requests, "index_metering_point_user_requests_on_mode", "index_register_user_requests_on_mode")
   -> 0.0003s
-- rename_index(:metering_point_user_requests, "index_metering_point_user_requests_on_user_id", "index_register_user_requests_on_user_id")
   -> 0.0003s
-- rename_table(:metering_point_user_requests, :register_user_requests)
   -> 0.0159s
== 20161116122929 RenameTableMeteringPointUserRequestsToRegisterUserRequests: migrated (0.0172s) 

== 20161116133815 RenameTableGroupMeteringPointRequestsToGroupRegisterRequests: migrating 
-- rename_index(:group_metering_point_requests, "index_group_metering_point_requests_on_group_id_and_user_id", "index_group_register_requests_on_group_id_and_user_id")
   -> 0.0004s
-- rename_index(:group_metering_point_requests, "index_group_metering_point_requests_on_group_id", "index_group_register_requests_on_group_id")
   -> 0.0003s
-- rename_index(:group_metering_point_requests, "index_group_metering_point_requests_on_metering_point_id", "index_group_register_requests_on_register_id")
   -> 0.0003s
-- rename_index(:group_metering_point_requests, "index_group_metering_point_requests_on_user_id", "index_group_register_requests_on_user_id")
   -> 0.0003s
-- rename_table(:group_metering_point_requests, :group_register_requests)
   -> 0.0044s
== 20161116133815 RenameTableGroupMeteringPointRequestsToGroupRegisterRequests: migrated (0.0059s) 

== 20161116135219 RenameColumnMeteringPointIdtoRegisterIdOnDevices: migrating =
-- rename_column(:devices, :metering_point_id, :register_id)
   -> 0.0077s
== 20161116135219 RenameColumnMeteringPointIdtoRegisterIdOnDevices: migrated (0.0080s) 

== 20161116135644 RenameColumnMeteringPointIdtoRegisterIdOnContractingParties: migrating 
-- rename_column(:contracting_parties, :metering_point_id, :register_id)
   -> 0.0023s
== 20161116135644 RenameColumnMeteringPointIdtoRegisterIdOnContractingParties: migrated (0.0024s) 

== 20161116135708 RenameColumnMeteringPointIdtoRegisterIdOnContracts: migrating 
-- rename_column(:contracts, :metering_point_id, :register_id)
   -> 0.0094s
== 20161116135708 RenameColumnMeteringPointIdtoRegisterIdOnContracts: migrated (0.0095s) 

== 20161116135725 RenameColumnMeteringPointIdtoRegisterIdOnFormulaParts: migrating 
-- rename_column(:formula_parts, :metering_point_id, :register_id)
   -> 0.0034s
== 20161116135725 RenameColumnMeteringPointIdtoRegisterIdOnFormulaParts: migrated (0.0035s) 

== 20161116140032 MoveMeteringPointsRolesToRegisters: migrating ===============
== 20161116140032 MoveMeteringPointsRolesToRegisters: migrated (0.1292s) ======

== 20161116143256 RenameColumnMeteringPointIdtoRegisterIdOnGroupRegisterRequests: migrating 
-- rename_column(:group_register_requests, :metering_point_id, :register_id)
   -> 0.0044s
== 20161116143256 RenameColumnMeteringPointIdtoRegisterIdOnGroupRegisterRequests: migrated (0.0045s) 

== 20161116143420 RenameColumnMeteringPointIdtoRegisterIdOnRegisterUserRequests: migrating 
-- rename_column(:register_user_requests, :metering_point_id, :register_id)
   -> 0.0065s
== 20161116143420 RenameColumnMeteringPointIdtoRegisterIdOnRegisterUserRequests: migrated (0.0068s) 

== 20161116143524 RenameColumnMeteringPointIdtoRegisterIdOnDashboardRegisters: migrating 
-- rename_column(:dashboard_registers, :metering_point_id, :register_id)
   -> 0.0017s
== 20161116143524 RenameColumnMeteringPointIdtoRegisterIdOnDashboardRegisters: migrated (0.0018s) 

== 20161116143900 RenameColumnIsDashboardMeteringPointToIsDashboardRegister: migrating 
-- rename_column(:registers, :is_dashboard_metering_point, :is_dashboard_register)
   -> 0.0022s
== 20161116143900 RenameColumnIsDashboardMeteringPointToIsDashboardRegister: migrated (0.0023s) 

== 20161117132744 CreateDiscovergyBroker: migrating ===========================
-- enable_extension("uuid-ossp")
   -> 0.0043s
-- create_table(:discovergy_brokers, {:id=>:uuid})
   -> 0.0439s
-- add_index(:discovergy_brokers, [:mode, :resource_id, :resource_type], {:unique=>true, :name=>"index_discovergy_brokers"})
   -> 0.0186s
== 20161117132744 CreateDiscovergyBroker: migrated (0.0675s) ==================

== 20161124095642 AddTypeToContract: migrating ================================
-- add_column(:contracts, :type, :string)
   -> 0.0006s
== 20161124095642 AddTypeToContract: migrated (0.0006s) =======================

== 20161124100101 RemoveModeFromContract: migrating ===========================
-- remove_column(:contracts, :mode, :string)
   -> 0.0005s
== 20161124100101 RemoveModeFromContract: migrated (0.0006s) ==================

== 20161128080016 RenameContractColumns: migrating ============================
-- rename_column(:contracts, :signing_user, :original_signing_user)
   -> 0.0021s
-- rename_column(:contracts, :group_id, :localpool_id)
   -> 0.0037s
-- rename_column(:contracts, :commissioning, :signing_date)
   -> 0.0059s
-- rename_column(:contracts, :beginning, :begin_date)
   -> 0.0071s
-- rename_column(:contracts, :termination, :end_date)
   -> 0.0019s
-- rename_column(:contracts, :terms, :terms_accepted)
   -> 0.0024s
-- rename_column(:contracts, :forecast_watt_hour_pa, :forecast_kwh_pa)
   -> 0.0019s
== 20161128080016 RenameContractColumns: migrated (0.0258s) ===================

== 20161128080017 AddCancellationDateToContract: migrating ====================
-- add_column(:contracts, :cancellation_date, :date)
   -> 0.0005s
== 20161128080017 AddCancellationDateToContract: migrated (0.0006s) ===========

== 20161128080018 AddOldContractToContract: migrating =========================
-- rename_column(:contracts, :old_electricity_supplier_name, :old_supplier_name)
   -> 0.0100s
-- add_column(:contracts, :old_customer_number, :string)
   -> 0.0010s
-- add_column(:contracts, :old_account_number, :string)
   -> 0.0003s
== 20161128080018 AddOldContractToContract: migrated (0.0118s) ================

== 20161130080018 ChangeContractOwnerBeneficiary: migrating ===================
-- add_belongs_to(:contracts, :contractor, {:references=>:contracting_parties, :index=>true, :type=>:uuid})
   -> 0.0070s
-- add_foreign_key(:contracts, :contracting_parties, {:column=>:contractor_id, :null=>false})
   -> 0.0015s
-- add_belongs_to(:contracts, :customer, {:references=>:contracting_parties, :index=>true, :type=>:uuid})
   -> 0.0096s
-- add_foreign_key(:contracts, :contracting_parties, {:column=>:customer_id, :null=>false})
   -> 0.0058s
-- add_belongs_to(:contracts, :signing_user, {:references=>:users, :index=>true, :type=>:uuid})
   -> 0.0064s
-- add_foreign_key(:contracts, :users, {:column=>:signing_user_id, :null=>false})
   -> 0.0015s
-- remove_column(:contracts, :contract_owner_id, :uuid)
   -> 0.0005s
-- remove_column(:contracts, :contract_beneficiary_id, :uuid)
   -> 0.0003s
-- remove_column(:contracts, :original_signing_user, :string)
   -> 0.0002s
== 20161130080018 ChangeContractOwnerBeneficiary: migrated (0.1022s) ==========

== 20161205131404 AddTypeToRegisters: migrating ===============================
-- add_column(:registers, :type, :string)
   -> 0.0006s
-- execute("UPDATE registers SET type='Register::Input' where id='3f44607a-eebd-4715-b37f-d9cb5ed71ecb';")
   -> 0.0006s
#<PG::Result:0x007fd141044088 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='e9d69b93-603b-47bd-80b8-05c2803517ad';")
   -> 0.0005s
#<PG::Result:0x007fd14102f048 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Output' where id='cfecb111-5343-447e-966b-22d8cfdea62d';")
   -> 0.0004s
#<PG::Result:0x007fd14102e148 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Output' where id='ae9c69b0-dcf5-4838-91f1-a3eecbef628b';")
   -> 0.0003s
#<PG::Result:0x007fd14102d180 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='d8f77201-fcc1-4aeb-81d6-3e08b0c63767';")
   -> 0.0004s
#<PG::Result:0x007fd14102c3e8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Output' where id='1f800632-4e10-48e4-b382-582c2d9b1c29';")
   -> 0.0004s
#<PG::Result:0x007fd14102b588 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='cfb2a570-4df2-4e35-a9f2-b4190e38ce55';")
   -> 0.0014s
#<PG::Result:0x007fd14102a660 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='8d901850-c918-4a5b-a047-de2cb150e8db';")
   -> 0.0008s
#<PG::Result:0x007fd141029738 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='e28536f5-82ee-4375-9e02-bdfe50a7126e';")
   -> 0.0005s
#<PG::Result:0x007fd141028838 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='f1679a20-f75e-429c-8ec3-12c5c67aeb04';")
   -> 0.0010s
#<PG::Result:0x007fd14101b868 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Output' where id='8b9d8575-9f87-42bd-a63c-80109f283fd0';")
   -> 0.0010s
#<PG::Result:0x007fd14101aaf8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='b05b9970-0bb5-4dae-816d-4ff0aaede409';")
   -> 0.0014s
#<PG::Result:0x007fd141019e00 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='1da919e7-98f2-4c20-9bc3-07d145fc03aa';")
   -> 0.0013s
#<PG::Result:0x007fd141019108 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='70783f68-f338-42b7-97ca-a5d0c87ab497';")
   -> 0.0016s
#<PG::Result:0x007fd141018050 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Output' where id='921223dd-6ef8-4576-a87c-0f31051ff31a';")
   -> 0.0012s
#<PG::Result:0x007fd1410173a8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Output' where id='60492197-f7a8-459b-8417-28727831fde7';")
   -> 0.0006s
#<PG::Result:0x007fd141016638 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='a5fda4f0-3a77-4d21-ba01-ba9c7a282d94';")
   -> 0.0003s
#<PG::Result:0x007fd1410158f0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='f9520508-7d66-4c3f-8332-526583ee1546';")
   -> 0.0003s
#<PG::Result:0x007fd141014b08 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Virtual' where id='f9c49024-ac8f-4e3e-aa09-b5aafcb633bf';")
   -> 0.0004s
#<PG::Result:0x007fd142e43ea8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Output' where id='a1b1dde3-6f3b-412d-9a85-4f1e49c2cb7c';")
   -> 0.0003s
#<PG::Result:0x007fd142e42e18 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Output' where id='61c2723e-e12e-4711-8e56-06a7c09d7c4e';")
   -> 0.0003s
#<PG::Result:0x007fd142e41d88 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='93b73f56-f4ae-44a6-8506-f5b6ccedc411';")
   -> 0.0003s
#<PG::Result:0x007fd142e40d98 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Output' where id='fdab7998-f2a7-4337-8aba-ab831f81681f';")
   -> 0.0003s
#<PG::Result:0x007fd142e1bf20 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='a98a085a-2e06-45e1-8f39-b32ea3c7db5d';")
   -> 0.0003s
#<PG::Result:0x007fd142e1b188 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='92361830-03a3-4cfe-bc64-adb74faa40f6';")
   -> 0.0003s
#<PG::Result:0x007fd142e1a300 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='7e8ad291-f0d2-46f3-82f5-90aee231063a';")
   -> 0.0003s
#<PG::Result:0x007fd142e19360 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='c9cb5b3b-0f10-4ce1-b8ca-e702498636fd';")
   -> 0.0003s
#<PG::Result:0x007fd142e18550 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='251f73a3-9b33-47f0-9d76-f78c7f93a6df';")
   -> 0.0003s
#<PG::Result:0x007fd142cd7628 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='733c790b-20b2-455f-9c01-472c20e2ea63';")
   -> 0.0003s
#<PG::Result:0x007fd142cd69d0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='e11c7a86-c690-4077-b586-d814736c17c1';")
   -> 0.0003s
#<PG::Result:0x007fd142cd5d28 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='d99910c9-093c-42bd-bac1-a5fad84e3aeb';")
   -> 0.0003s
#<PG::Result:0x007fd142cd5148 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='4913b15a-ea70-4797-a381-446930946972';")
   -> 0.0003s
#<PG::Result:0x007fd142cd44c8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='a3db4320-10d2-4eb3-90cc-69e2c5f444b1';")
   -> 0.0003s
#<PG::Result:0x007fd1428f3818 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='5ec5b151-e07b-44a4-a0c3-56c438f41cf4';")
   -> 0.0003s
#<PG::Result:0x007fd1428f28c8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='a5b4ca79-371c-4943-b3aa-16dfa57803db';")
   -> 0.0003s
#<PG::Result:0x007fd1428f1bd0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='aa5b0fc9-eeff-48a6-81da-dc8775d7cc90';")
   -> 0.0003s
#<PG::Result:0x007fd1428f0f50 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='0e1d1cf8-2a12-4419-921b-22a72aef84f4';")
   -> 0.0004s
#<PG::Result:0x007fd1428f02d0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='56007650-861d-420b-85a6-1e11be624cf7';")
   -> 0.0003s
#<PG::Result:0x007fd1428b74a8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='0adc571a-eba9-474a-bbb0-d4888200fce6';")
   -> 0.0003s
#<PG::Result:0x007fd1428b66c0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='164e1d5e-1732-4b38-8e96-aa03dcd0c7ea';")
   -> 0.0003s
#<PG::Result:0x007fd1428b5658 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='780f88c3-2422-48ee-9ff6-cde55e4620d7';")
   -> 0.0003s
#<PG::Result:0x007fd1428b4960 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='c53e2cf7-6fbf-4022-bd3b-0be6c6b1fb7d';")
   -> 0.0003s
#<PG::Result:0x007fd14287bb38 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='a31c3772-2573-49fc-a045-3618340a86e7';")
   -> 0.0003s
#<PG::Result:0x007fd14287ac38 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='c1b8dce7-da95-442e-a439-33d57c80ecc7';")
   -> 0.0003s
#<PG::Result:0x007fd142879c70 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='8bce7c73-741f-458f-b1e6-8349aea23119';")
   -> 0.0003s
#<PG::Result:0x007fd142878fc8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE registers SET type='Register::Input' where id='c95455d4-598e-4a6a-bd63-3ad66a13f303';")
   -> 0.0004s
#<PG::Result:0x007fd142878118 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- change_column_null(:registers, :type, false)
   -> 0.0004s
== 20161205131404 AddTypeToRegisters: migrated (0.0493s) ======================

== 20161223105036 CreateMySmartGridBrokers: migrating =========================
-- rename_index(:discovergy_brokers, "index_discovergy_brokers_resources", "index_brokers_resources")
   -> 0.0018s
-- rename_index(:discovergy_brokers, "index_discovergy_brokers", "index_brokers")
   -> 0.0017s
-- rename_table(:discovergy_brokers, :brokers)
   -> 0.0077s
-- add_column(:brokers, :type, :string, {:null=>false})
   -> 0.0006s
== 20161223105036 CreateMySmartGridBrokers: migrated (0.0126s) ================

== 20161225131404 AddTypeToMeters: migrating ==================================
-- add_column(:meters, :type, :string)
   -> 0.0009s
-- execute("UPDATE meters SET type='Meter::Real' where id='4a1d08f3-ff4f-4253-b7d2-d8c4f472e2ab';")
   -> 0.0004s
#<PG::Result:0x007fd14116f7f0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='3daad792-443a-4006-836b-3d61ea6f9229';")
   -> 0.0002s
#<PG::Result:0x007fd141154f40 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='07acf5e7-636d-4236-8599-2c903b3224d3';")
   -> 0.0002s
#<PG::Result:0x007fd1411451d0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='a32819e0-1753-4ac6-a2ef-81f4f0996962';")
   -> 0.0004s
#<PG::Result:0x007fd142d39eb8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='640e21e0-2d3f-4fbf-b306-f4f042dacbd1';")
   -> 0.0003s
#<PG::Result:0x007fd142d12638 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='84dbd65b-719f-4f71-9bb6-08125efb0ed4';")
   -> 0.0003s
#<PG::Result:0x007fd142cc3d30 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='fb9c4ce5-d747-43c1-ac1e-85097d139311';")
   -> 0.0003s
#<PG::Result:0x007fd142c985b8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='70f4a442-04bd-49b6-9397-d09e3faf9992';")
   -> 0.0003s
#<PG::Result:0x007fd142897040 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='e968f7ac-14a7-4456-83a0-96b983151947';")
   -> 0.0003s
#<PG::Result:0x007fd1418dd4d8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='81a643d0-0023-4b34-94f9-a7c5a969071e';")
   -> 0.0003s
#<PG::Result:0x007fd14188a8a0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='5cca7dbc-f6cb-42a5-94ba-7bdac3ce7b7b';")
   -> 0.0003s
#<PG::Result:0x007fd14184e918 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='d1ef38cc-6ee6-447e-9394-ce68a9d5efeb';")
   -> 0.0012s
#<PG::Result:0x007fd1417e7ec0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='a81972ce-59b3-4f26-b3a1-14d57ec3a7ae';")
   -> 0.0022s
#<PG::Result:0x007fd1417513d0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='dbb51e81-5509-4cb5-943a-a93ec3fa497a';")
   -> 0.0009s
#<PG::Result:0x007fd1416d8570 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='cde8cfa0-db7a-47dd-a883-d290ffdff705';")
   -> 0.0003s
#<PG::Result:0x007fd141515af8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='509fafdf-8681-4d0f-ab5b-bb5de683d0a6';")
   -> 0.0003s
#<PG::Result:0x007fd14142acd8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='a1c6ad34-c33a-47cb-89d7-4a4a01cc8070';")
   -> 0.0003s
#<PG::Result:0x007fd141403e30 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='8437c11f-1932-4841-84d9-e704e707586a';")
   -> 0.0003s
#<PG::Result:0x007fd1413c0518 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='750c07d7-08f9-4cb2-8757-3689ea18089b';")
   -> 0.0003s
#<PG::Result:0x007fd1413733f8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Virtual' where id='55dabaff-11a0-470d-a8d7-99819d299906';")
   -> 0.0019s
#<PG::Result:0x007fd142e9b8d8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='e6a3ad3b-7685-4047-831b-018eda7a9db4';")
   -> 0.0023s
#<PG::Result:0x007fd142e86028 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='c711541e-08fb-49df-bcfa-5dd37725f908';")
   -> 0.0004s
#<PG::Result:0x007fd142e71858 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='47fcf6e5-e894-484a-a6c1-c92792972f0e';")
   -> 0.0003s
#<PG::Result:0x007fd142e629c0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='17febb20-551f-4589-8cea-ed97f2633aa2';")
   -> 0.0003s
#<PG::Result:0x007fd142e4c210 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='c2b36b67-4828-4a96-8c17-6180038a3e11';")
   -> 0.0003s
#<PG::Result:0x007fd142e44380 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='c4e537b7-bbd6-455f-bdb5-dfd5c406d5a6';")
   -> 0.0003s
#<PG::Result:0x007fd142e313c0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='546facba-e6df-4516-8364-7db317342312';")
   -> 0.0002s
#<PG::Result:0x007fd142e1e478 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='176e09ca-2c29-4c4c-9747-cda50122f199';")
   -> 0.0002s
#<PG::Result:0x007fd142e0a1f8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='0d71e5f0-1910-4bc6-ac28-ddee7f7210d6';")
   -> 0.0002s
#<PG::Result:0x007fd142df8e58 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='c531a9f7-a0de-4965-b97e-063b3a1bafb4';")
   -> 0.0004s
#<PG::Result:0x007fd142deaee8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='2678da80-6dfc-498e-9a31-b09c4aba0a23';")
   -> 0.0006s
#<PG::Result:0x007fd142dd6560 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='79069d12-1946-4c50-bb46-6c40d01e3f4a';")
   -> 0.0023s
#<PG::Result:0x007fd142dc3cd0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='7f5a9fcc-cd68-4558-91ed-2a0ec723f0f9';")
   -> 0.0004s
#<PG::Result:0x007fd142db2e30 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='0f1f3117-e416-4b2c-97f2-2e47c4250d84';")
   -> 0.0004s
#<PG::Result:0x007fd142da9b28 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='822cbfc4-02ef-43e9-9192-6b84e71512f0';")
   -> 0.0003s
#<PG::Result:0x007fd142d964b0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='77514728-7554-4552-8690-5af4fad7e07b';")
   -> 0.0005s
#<PG::Result:0x007fd142d86ec0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='e357befc-4bd8-4682-9c03-dc2c73c5aa7f';")
   -> 0.0003s
#<PG::Result:0x007fd142d73ac8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='66c9d614-ddff-4b7d-8798-84be164f1322';")
   -> 0.0003s
#<PG::Result:0x007fd142d6b260 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='1851668f-e4f7-4637-acdd-1ea36bdf6c09';")
   -> 0.0003s
#<PG::Result:0x007fd142d58110 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
-- execute("UPDATE meters SET type='Meter::Real' where id='ae852042-2a72-4b6e-9aad-519d0580eb50';")
   -> 0.0004s
#<PG::Result:0x007fd142d417f8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=1>
validate meters
4a1d08f3-ff4f-4253-b7d2-d8c4f472e2ab: true
3daad792-443a-4006-836b-3d61ea6f9229: true
07acf5e7-636d-4236-8599-2c903b3224d3: true
a32819e0-1753-4ac6-a2ef-81f4f0996962: false
640e21e0-2d3f-4fbf-b306-f4f042dacbd1: false
84dbd65b-719f-4f71-9bb6-08125efb0ed4: false
fb9c4ce5-d747-43c1-ac1e-85097d139311: false
70f4a442-04bd-49b6-9397-d09e3faf9992: true
e968f7ac-14a7-4456-83a0-96b983151947: false
81a643d0-0023-4b34-94f9-a7c5a969071e: false
5cca7dbc-f6cb-42a5-94ba-7bdac3ce7b7b: false
d1ef38cc-6ee6-447e-9394-ce68a9d5efeb: false
a81972ce-59b3-4f26-b3a1-14d57ec3a7ae: false
dbb51e81-5509-4cb5-943a-a93ec3fa497a: false
cde8cfa0-db7a-47dd-a883-d290ffdff705: false
509fafdf-8681-4d0f-ab5b-bb5de683d0a6: true
a1c6ad34-c33a-47cb-89d7-4a4a01cc8070: true
8437c11f-1932-4841-84d9-e704e707586a: true
750c07d7-08f9-4cb2-8757-3689ea18089b: true
55dabaff-11a0-470d-a8d7-99819d299906: true
e6a3ad3b-7685-4047-831b-018eda7a9db4: true
c711541e-08fb-49df-bcfa-5dd37725f908: true
47fcf6e5-e894-484a-a6c1-c92792972f0e: true
17febb20-551f-4589-8cea-ed97f2633aa2: true
c2b36b67-4828-4a96-8c17-6180038a3e11: true
c4e537b7-bbd6-455f-bdb5-dfd5c406d5a6: true
546facba-e6df-4516-8364-7db317342312: true
176e09ca-2c29-4c4c-9747-cda50122f199: true
0d71e5f0-1910-4bc6-ac28-ddee7f7210d6: true
c531a9f7-a0de-4965-b97e-063b3a1bafb4: true
2678da80-6dfc-498e-9a31-b09c4aba0a23: true
79069d12-1946-4c50-bb46-6c40d01e3f4a: true
7f5a9fcc-cd68-4558-91ed-2a0ec723f0f9: true
0f1f3117-e416-4b2c-97f2-2e47c4250d84: true
822cbfc4-02ef-43e9-9192-6b84e71512f0: true
77514728-7554-4552-8690-5af4fad7e07b: true
e357befc-4bd8-4682-9c03-dc2c73c5aa7f: true
66c9d614-ddff-4b7d-8798-84be164f1322: true
1851668f-e4f7-4637-acdd-1ea36bdf6c09: true
ae852042-2a72-4b6e-9aad-519d0580eb50: true
validates registers
3f44607a-eebd-4715-b37f-d9cb5ed71ecb: false
delete 3f44607a-eebd-4715-b37f-d9cb5ed71ecb
e9d69b93-603b-47bd-80b8-05c2803517ad: false
cfecb111-5343-447e-966b-22d8cfdea62d: false
ae9c69b0-dcf5-4838-91f1-a3eecbef628b: false
d8f77201-fcc1-4aeb-81d6-3e08b0c63767: false
delete d8f77201-fcc1-4aeb-81d6-3e08b0c63767
1f800632-4e10-48e4-b382-582c2d9b1c29: false
delete 1f800632-4e10-48e4-b382-582c2d9b1c29
cfb2a570-4df2-4e35-a9f2-b4190e38ce55: false
8d901850-c918-4a5b-a047-de2cb150e8db: false
delete 8d901850-c918-4a5b-a047-de2cb150e8db
e28536f5-82ee-4375-9e02-bdfe50a7126e: false
delete e28536f5-82ee-4375-9e02-bdfe50a7126e
f1679a20-f75e-429c-8ec3-12c5c67aeb04: false
8b9d8575-9f87-42bd-a63c-80109f283fd0: false
b05b9970-0bb5-4dae-816d-4ff0aaede409: false
1da919e7-98f2-4c20-9bc3-07d145fc03aa: false
70783f68-f338-42b7-97ca-a5d0c87ab497: false
921223dd-6ef8-4576-a87c-0f31051ff31a: true
60492197-f7a8-459b-8417-28727831fde7: true
a5fda4f0-3a77-4d21-ba01-ba9c7a282d94: true
f9520508-7d66-4c3f-8332-526583ee1546: true
f9c49024-ac8f-4e3e-aa09-b5aafcb633bf: true
a1b1dde3-6f3b-412d-9a85-4f1e49c2cb7c: false
61c2723e-e12e-4711-8e56-06a7c09d7c4e: false
93b73f56-f4ae-44a6-8506-f5b6ccedc411: false
fdab7998-f2a7-4337-8aba-ab831f81681f: true
a98a085a-2e06-45e1-8f39-b32ea3c7db5d: true
92361830-03a3-4cfe-bc64-adb74faa40f6: true
7e8ad291-f0d2-46f3-82f5-90aee231063a: true
c9cb5b3b-0f10-4ce1-b8ca-e702498636fd: true
251f73a3-9b33-47f0-9d76-f78c7f93a6df: true
733c790b-20b2-455f-9c01-472c20e2ea63: true
e11c7a86-c690-4077-b586-d814736c17c1: true
d99910c9-093c-42bd-bac1-a5fad84e3aeb: true
4913b15a-ea70-4797-a381-446930946972: true
a3db4320-10d2-4eb3-90cc-69e2c5f444b1: true
5ec5b151-e07b-44a4-a0c3-56c438f41cf4: true
a5b4ca79-371c-4943-b3aa-16dfa57803db: true
aa5b0fc9-eeff-48a6-81da-dc8775d7cc90: true
0e1d1cf8-2a12-4419-921b-22a72aef84f4: true
56007650-861d-420b-85a6-1e11be624cf7: true
0adc571a-eba9-474a-bbb0-d4888200fce6: true
164e1d5e-1732-4b38-8e96-aa03dcd0c7ea: true
780f88c3-2422-48ee-9ff6-cde55e4620d7: true
c53e2cf7-6fbf-4022-bd3b-0be6c6b1fb7d: true
a31c3772-2573-49fc-a045-3618340a86e7: true
c1b8dce7-da95-442e-a439-33d57c80ecc7: true
8bce7c73-741f-458f-b1e6-8349aea23119: true
c95455d4-598e-4a6a-bd63-3ad66a13f303: true
-- change_column_null(:meters, :type, false)
   -> 0.0009s
== 20161225131404 AddTypeToMeters: migrated (1.1804s) =========================

== 20170110152512 AddMigrationscripts: migrating ==============================
Going to update 16Contracts
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Finished.
Going to update 16Contracts
Finished.
== 20170110152512 AddMigrationscripts: migrated (0.3618s) =====================

== 20170111082512 AddForeignKeyToRegisters: migrating =========================
-- add_foreign_key(:registers, :meters, {:null=>false})
   -> 0.0042s
invalid meters
Meter::Base : a32819e0-1753-4ac6-a2ef-81f4f0996962 : {:registers=>["ist nicht gültig"], :"registers.0.address"=>["missing Address when having contracts"]}
Meter::Base : 640e21e0-2d3f-4fbf-b306-f4f042dacbd1 : {:registers=>["ist nicht gültig"], :"registers.0.address"=>["missing Address when having contracts"]}
Meter::Base : 84dbd65b-719f-4f71-9bb6-08125efb0ed4 : {:registers=>["ist nicht gültig"], :"registers.0.address"=>["missing Address when having contracts"]}
Meter::Base : fb9c4ce5-d747-43c1-ac1e-85097d139311 : {:registers=>["ist nicht gültig"], :"registers.0.address"=>["missing Address when having contracts"]}
Meter::Base : e968f7ac-14a7-4456-83a0-96b983151947 : {:registers=>["ist nicht gültig"], :"registers.0.address"=>["missing Address when having contracts", "missing Address when having contracts"]}
Meter::Base : 81a643d0-0023-4b34-94f9-a7c5a969071e : {:registers=>["ist nicht gültig"], :"registers.0.address"=>["missing Address when having contracts"]}
Meter::Base : 5cca7dbc-f6cb-42a5-94ba-7bdac3ce7b7b : {:registers=>["ist nicht gültig"], :"registers.0.address"=>["missing Address when having contracts"]}
Meter::Base : d1ef38cc-6ee6-447e-9394-ce68a9d5efeb : {:registers=>["ist nicht gültig"], :"registers.0.address"=>["missing Address when having contracts"]}
Meter::Base : a81972ce-59b3-4f26-b3a1-14d57ec3a7ae : {:registers=>["ist nicht gültig"], :"registers.0.address"=>["missing Address when having contracts"]}
Meter::Base : dbb51e81-5509-4cb5-943a-a93ec3fa497a : {:registers=>["ist nicht gültig"], :"registers.0.address"=>["missing Address when having contracts"]}
Meter::Base : cde8cfa0-db7a-47dd-a883-d290ffdff705 : {:registers=>["ist nicht gültig"], :"registers.0.address"=>["missing Address when having contracts"]}
== 20170111082512 AddForeignKeyToRegisters: migrated (0.4900s) ================

The insertion of foreign keys should always ensure that current data won't get invalid. So it would be great to modify all invalid objects to be valid in the new schema.

mkristian commented 7 years ago

infortunately meters do not have a contraints as teh foreignkey contraints goes only in one direction. I think it is possible to make higher level contraints but would not go this route right now.

but we should make sure our data is valid from a ruby point of view and add foreignkeys where possible, as ruby allows low-level DB actions bypassing validations.

mkristian commented 7 years ago

the missing address on when there is contract is bad but not a show stopper as it states that we would like to ensure an address on the register when the register has a contract.

I did add all those log to get a feeling what the state of DB on staging.

above you see a lot of false with the meters and registers that should not be the case but I am not sure how much we can 'fix' automatically there. investigation is needed what is wrong there. could be all the missing address in the end.

still do not see why staging is acting so broken after seeing this log

mkristian commented 7 years ago

or can it be that if the meter is not valid then you can not create a broker for it ?

ChriWiChris commented 7 years ago

I don't know but it might be the case ... I really would like to investigate this with you together but I have to leave now ... Would you go deeper into this? Maybe Felix had a look at it already, please ask him if he has some information on this.

ffaerber commented 7 years ago

@mkristian will this ticket #683 fix this migration bug?

ChriWiChris commented 7 years ago

I think I solved this issue. The problem was a mixture of too many new constraints on our data and a bad migration script. @ffaerber Now I want to test all our migrations against real production data. Can you please show me how to make a dump of the production DB and how to import it locally? I'm still fighting against a cold so I don't know when I will be online tomorrow.