etalab / transport-site

Rendre disponible, valoriser et améliorer les données transports
https://transport.data.gouv.fr
190 stars 29 forks source link

Modification dataset en conservant l'historique notamment pour les indicateurs #4061

Closed cyrilmorin closed 2 months ago

cyrilmorin commented 2 months ago

Hello,

NAM à le GO de Niort pour publier son dataset plutôt que celui de Niort.

Je souhaitais uniquement changer l'url (changement de dataset et donc d'organisation) pour pouvoir conserver notamment l'historique sur les indicateurs qui nous permettent de voir si dans le temps, l'AOM est bien OK sur la publication de ses donnés (quelle que soit l'entité qui publie)

Malheureusement, j'ai une erreur lors de l'enregistrement de la modif image

Pouvez-vous m'aider svp ?

Merci !

AntoineAugusti commented 2 months ago

Tentative de reproduire en console, le code exécuté est [le suivant](https://github.com/etalab/transport-site/blob/c373e38e694ee470d7398ed05bac7a919fe5610f/apps/transport/lib/transport_web/controllers/backoffice/dataset_controller.ex#L22-L42.

iex(1)> form_params = %{"dataset_id" => 676, "datagouv_id" => "632a56a6052625d602eacfa4"}
%{"datagouv_id" => "632a56a6052625d602eacfa4", "dataset_id" => 676}
iex(2)> datagouv_id = "632a56a6052625d602eacfa4"
"632a56a6052625d602eacfa4"
iex(3)>   alias DB.{Dataset, ImportDataWorker, Repo}
[DB.Dataset, DB.ImportDataWorker, DB.Repo]
iex(4)>   alias Transport.{ImportData, ImportDataWorker}
[Transport.ImportData, Transport.ImportDataWorker]
iex(5)> {:ok, dg_dataset} = ImportData.import_from_data_gouv(datagouv_id, "public-transit") 
09:53:50.897 [info] Importing dataset 632a56a6052625d602eacfa4 from data.gouv.fr (url = https://www.data.gouv.fr/api/1/datasets/632a56a6052625d602eacfa4/)
{:ok,
 %{
   "archived_at" => nil,
   "created_at" => ~U[2022-03-10 00:00:00Z],
   "datagouv_id" => "632a56a6052625d602eacfa4",
   "datagouv_title" => "Offre de transport - CA du Niortais",
   "description" => "Ce jeu de données contient la liste des arrêts, des horaires et des parcours théoriques du réseau de transport urbain de la CA du Niortais. Les données sont diffusées par Nouvelle-Aquitaine Mobilités et produites par [Tan lib](https://www.tanlib.com/). Pour ce jeu de données, les données sont disponibles en temps réel, sous la forme d'une API au format SIRI. La documentation du flux SIRI est accessible ici : https://api.okina.fr/catalog/api/05171303-40dc-457d-9713-0340dc257d63/doc?page=077a05d3-6429-4944-ba05-d36429e94413",
   "frequency" => "unknown",
   "full_logo" => "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-original.jpg",
   "id" => "632a56a6052625d602eacfa4",
   "is_active" => true,
   "last_update" => ~U[2024-07-15 00:00:00Z],
   "licence" => "odc-odbl",
   "logo" => "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-100.jpg",
   "nb_reuses" => 0,
   "organization" => %{
     "acronym" => nil,
     "badges" => [%{"kind" => "public-service"}],
     "class" => "Organization",
     "id" => "5c52f0cc8b4c410915918eee",
     "logo" => "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-original.jpg",
     "logo_thumbnail" => "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-100.jpg",
     "name" => "Nouvelle-Aquitaine Mobilités",
     "page" => "https://www.data.gouv.fr/fr/organizations/nouvelle-aquitaine-mobilites/",
     "slug" => "nouvelle-aquitaine-mobilites",
     "uri" => "https://www.data.gouv.fr/api/1/organizations/nouvelle-aquitaine-mobilites/"
   },
   "resources" => [
     %{
       "community_resource_publisher" => nil,
       "datagouv_id" => "d724a6df-7dc4-4b2d-be15-fc8b1d52c8ea",
       "description" => "Offres de transports au format GTFS",
       "display_position" => 0,
       "filesize" => nil,
       "filetype" => "remote",
       "format" => "GTFS",
       "id" => nil,
       "is_available" => true,
       "is_community_resource" => false,
       "last_import" => ~U[2024-07-16 07:53:51.328958Z],
       "last_update" => ~U[2024-07-15 00:00:00Z],
       "latest_url" => "https://www.data.gouv.fr/fr/datasets/r/d724a6df-7dc4-4b2d-be15-fc8b1d52c8ea",
       "metadata" => nil,
       "original_resource_url" => nil,
       "schema_name" => nil,
       "schema_version" => nil,
       "title" => "Offre transport NA Mobilités GTFS",
       "type" => "main",
       "url" => "https://www.pigma.org/public/opendata/nouvelle_aquitaine_mobilites/publication/ca_du_niortais-aggregated-gtfs.zip"
     },
     %{
       "community_resource_publisher" => nil,
       "datagouv_id" => "e0c9d220-b487-440f-ae53-b7fa71e7d0fa",
       "description" => "Itinéraires et courses au format NeTEx-FR",
       "display_position" => 1,
       "filesize" => nil,
       "filetype" => "remote",
       "format" => "NeTEx",
       "id" => nil,
       "is_available" => true,
       "is_community_resource" => false,
       "last_import" => ~U[2024-07-16 07:53:51.406588Z],
       "last_update" => ~U[2024-07-15 00:00:00Z],
       "latest_url" => "https://www.data.gouv.fr/fr/datasets/r/e0c9d220-b487-440f-ae53-b7fa71e7d0fa",
       "metadata" => nil,
       "original_resource_url" => nil,
       "schema_name" => nil,
       "schema_version" => nil,
       "title" => "Itinéraires  et courses NA Mobilités NeTEx-FR",
       "type" => "main",
       "url" => "https://www.pigma.org/public/opendata/nouvelle_aquitaine_mobilites/publication/ca_du_niortais-aggregated-netex.zip"
     },
     %{
       "community_resource_publisher" => nil,
       "datagouv_id" => "257c7aa4-c848-401a-bdde-7b5d82cda3ca",
       "description" => "",
       "display_position" => 2,
       "filesize" => nil,
       "filetype" => "remote",
       "format" => "SIRI",
       "id" => nil,
       "is_available" => true,
       "is_community_resource" => false,
       "last_import" => ~U[2024-07-16 07:53:51.428540Z],
       "last_update" => ~U[2024-07-15 00:00:00Z],
       "latest_url" => "https://www.data.gouv.fr/fr/datasets/r/257c7aa4-c848-401a-bdde-7b5d82cda3ca",
       "metadata" => nil,
       "original_resource_url" => nil,
       "schema_name" => nil,
       "schema_version" => nil,
       "title" => "API SIRI du réseau Niortais",
       "type" => "main",
       "url" => "https://api.okina.fr/gateway/nam/realtime/anshar/ws/services/?datasetId=CA_DU_NIORTAIS"
     }
   ],
   "slug" => "arrets-horaires-et-parcours-theoriques-des-reseaux-naq-nio-nva-m-1",
   "tags" => ["donnees-ouvertes-1", "gtfs", "netex", "nouvelle-aquitaine-2"],
   "type" => "public-transit",
   "zones" => []
 }}
iex(6)> complete_params = Map.merge(form_params, dg_dataset) 
%{
  "archived_at" => nil,
  "created_at" => ~U[2022-03-10 00:00:00Z],
  "datagouv_id" => "632a56a6052625d602eacfa4",
  "datagouv_title" => "Offre de transport - CA du Niortais",
  "dataset_id" => 676,
  "description" => "Ce jeu de données contient la liste des arrêts, des horaires et des parcours théoriques du réseau de transport urbain de la CA du Niortais. Les données sont diffusées par Nouvelle-Aquitaine Mobilités et produites par [Tan lib](https://www.tanlib.com/). Pour ce jeu de données, les données sont disponibles en temps réel, sous la forme d'une API au format SIRI. La documentation du flux SIRI est accessible ici : https://api.okina.fr/catalog/api/05171303-40dc-457d-9713-0340dc257d63/doc?page=077a05d3-6429-4944-ba05-d36429e94413",
  "frequency" => "unknown",
  "full_logo" => "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-original.jpg",
  "id" => "632a56a6052625d602eacfa4",
  "is_active" => true,
  "last_update" => ~U[2024-07-15 00:00:00Z],
  "licence" => "odc-odbl",
  "logo" => "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-100.jpg",
  "nb_reuses" => 0,
  "organization" => %{
    "acronym" => nil,
    "badges" => [%{"kind" => "public-service"}],
    "class" => "Organization",
    "id" => "5c52f0cc8b4c410915918eee",
    "logo" => "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-original.jpg",
    "logo_thumbnail" => "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-100.jpg",
    "name" => "Nouvelle-Aquitaine Mobilités",
    "page" => "https://www.data.gouv.fr/fr/organizations/nouvelle-aquitaine-mobilites/",
    "slug" => "nouvelle-aquitaine-mobilites",
    "uri" => "https://www.data.gouv.fr/api/1/organizations/nouvelle-aquitaine-mobilites/"
  },
  "resources" => [
    %{
      "community_resource_publisher" => nil,
      "datagouv_id" => "d724a6df-7dc4-4b2d-be15-fc8b1d52c8ea",
      "description" => "Offres de transports au format GTFS",
      "display_position" => 0,
      "filesize" => nil,
      "filetype" => "remote",
      "format" => "GTFS",
      "id" => nil,
      "is_available" => true,
      "is_community_resource" => false,
      "last_import" => ~U[2024-07-16 07:53:51.328958Z],
      "last_update" => ~U[2024-07-15 00:00:00Z],
      "latest_url" => "https://www.data.gouv.fr/fr/datasets/r/d724a6df-7dc4-4b2d-be15-fc8b1d52c8ea",
      "metadata" => nil,
      "original_resource_url" => nil,
      "schema_name" => nil,
      "schema_version" => nil,
      "title" => "Offre transport NA Mobilités GTFS",
      "type" => "main",
      "url" => "https://www.pigma.org/public/opendata/nouvelle_aquitaine_mobilites/publication/ca_du_niortais-aggregated-gtfs.zip"
    },
    %{
      "community_resource_publisher" => nil,
      "datagouv_id" => "e0c9d220-b487-440f-ae53-b7fa71e7d0fa",
      "description" => "Itinéraires et courses au format NeTEx-FR",
      "display_position" => 1,
      "filesize" => nil,
      "filetype" => "remote",
      "format" => "NeTEx",
      "id" => nil,
      "is_available" => true,
      "is_community_resource" => false,
      "last_import" => ~U[2024-07-16 07:53:51.406588Z],
      "last_update" => ~U[2024-07-15 00:00:00Z],
      "latest_url" => "https://www.data.gouv.fr/fr/datasets/r/e0c9d220-b487-440f-ae53-b7fa71e7d0fa",
      "metadata" => nil,
      "original_resource_url" => nil,
      "schema_name" => nil,
      "schema_version" => nil,
      "title" => "Itinéraires  et courses NA Mobilités NeTEx-FR",
      "type" => "main",
      "url" => "https://www.pigma.org/public/opendata/nouvelle_aquitaine_mobilites/publication/ca_du_niortais-aggregated-netex.zip"
    },
    %{
      "community_resource_publisher" => nil,
      "datagouv_id" => "257c7aa4-c848-401a-bdde-7b5d82cda3ca",
      "description" => "",
      "display_position" => 2,
      "filesize" => nil,
      "filetype" => "remote",
      "format" => "SIRI",
      "id" => nil,
      "is_available" => true,
      "is_community_resource" => false,
      "last_import" => ~U[2024-07-16 07:53:51.428540Z],
      "last_update" => ~U[2024-07-15 00:00:00Z],
      "latest_url" => "https://www.data.gouv.fr/fr/datasets/r/257c7aa4-c848-401a-bdde-7b5d82cda3ca",
      "metadata" => nil,
      "original_resource_url" => nil,
      "schema_name" => nil,
      "schema_version" => nil,
      "title" => "API SIRI du réseau Niortais",
      "type" => "main",
      "url" => "https://api.okina.fr/gateway/nam/realtime/anshar/ws/services/?datasetId=CA_DU_NIORTAIS"
    }
  ],
  "slug" => "arrets-horaires-et-parcours-theoriques-des-reseaux-naq-nio-nva-m-1",
  "tags" => ["donnees-ouvertes-1", "gtfs", "netex", "nouvelle-aquitaine-2"],
  "type" => "public-transit",
  "zones" => []
}
iex(7)> {:ok, changeset} = DB.Dataset.changeset(complete_params)
{:ok,
 #Ecto.Changeset<
   action: nil,
   changes: %{
     created_at: ~U[2022-03-10 00:00:00.000000Z],
     datagouv_id: "632a56a6052625d602eacfa4",
     datagouv_title: "Offre de transport - CA du Niortais",
     description: "Ce jeu de données contient la liste des arrêts, des horaires et des parcours théoriques du réseau de transport urbain de la CA du Niortais. Les données sont diffusées par Nouvelle-Aquitaine Mobilités et produites par [Tan lib](https://www.tanlib.com/). Pour ce jeu de données, les données sont disponibles en temps réel, sous la forme d'une API au format SIRI. La documentation du flux SIRI est accessible ici : https://api.okina.fr/catalog/api/05171303-40dc-457d-9713-0340dc257d63/doc?page=077a05d3-6429-4944-ba05-d36429e94413",
     full_logo: "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-original.jpg",
     last_update: ~U[2024-07-15 00:00:00.000000Z],
     licence: "odc-odbl",
     logo: "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-100.jpg",
     organization: "Nouvelle-Aquitaine Mobilités",
     organization_object: #Ecto.Changeset<action: :update, changes: %{},
      errors: [], data: #DB.Organization<>, valid?: true>,
     resources: [
       #Ecto.Changeset<action: :replace, changes: %{}, errors: [],
        data: #DB.Resource<>, valid?: true>,
       #Ecto.Changeset<action: :replace, changes: %{}, errors: [],
        data: #DB.Resource<>, valid?: true>,
       #Ecto.Changeset<action: :replace, changes: %{}, errors: [],
        data: #DB.Resource<>, valid?: true>,
       #Ecto.Changeset<
         action: :insert,
         changes: %{
           datagouv_id: "d724a6df-7dc4-4b2d-be15-fc8b1d52c8ea",
           description: "Offres de transports au format GTFS",
           display_position: 0,
           filetype: "remote",
           format: "GTFS",
           is_community_resource: false,
           last_import: ~U[2024-07-16 07:53:51.328958Z],
           last_update: ~U[2024-07-15 00:00:00.000000Z],
           latest_url: "https://www.data.gouv.fr/fr/datasets/r/d724a6df-7dc4-4b2d-be15-fc8b1d52c8ea",
           title: "Offre transport NA Mobilités GTFS",
           type: "main",
           url: "https://www.pigma.org/public/opendata/nouvelle_aquitaine_mobilites/publication/ca_du_niortais-aggregated-gtfs.zip"
         },
         errors: [],
         data: #DB.Resource<>,
         valid?: true
       >,
       #Ecto.Changeset<
         action: :insert,
         changes: %{
           datagouv_id: "e0c9d220-b487-440f-ae53-b7fa71e7d0fa",
           description: "Itinéraires et courses au format NeTEx-FR",
           display_position: 1,
           filetype: "remote",
           format: "NeTEx",
           is_community_resource: false,
           last_import: ~U[2024-07-16 07:53:51.406588Z],
           last_update: ~U[2024-07-15 00:00:00.000000Z],
           latest_url: "https://www.data.gouv.fr/fr/datasets/r/e0c9d220-b487-440f-ae53-b7fa71e7d0fa",
           title: "Itinéraires  et courses NA Mobilités NeTEx-FR",
           type: "main",
           url: "https://www.pigma.org/public/opendata/nouvelle_aquitaine_mobilites/publication/ca_du_niortais-aggregated-netex.zip"
         },
         errors: [],
         data: #DB.Resource<>,
         valid?: true
       >,
       #Ecto.Changeset<
         action: :insert,
         changes: %{
           datagouv_id: "257c7aa4-c848-401a-bdde-7b5d82cda3ca",
           display_position: 2,
           filetype: "remote",
           format: "SIRI",
           is_community_resource: false,
           last_import: ~U[2024-07-16 07:53:51.428540Z],
           last_update: ~U[2024-07-15 00:00:00.000000Z],
           latest_url: "https://www.data.gouv.fr/fr/datasets/r/257c7aa4-c848-401a-bdde-7b5d82cda3ca",
           title: "API SIRI du réseau Niortais",
           type: "main",
           url: "https://api.okina.fr/gateway/nam/realtime/anshar/ws/services/?datasetId=CA_DU_NIORTAIS"
         },
         errors: [],
         data: #DB.Resource<>,
         valid?: true
       >
     ],
     slug: "arrets-horaires-et-parcours-theoriques-des-reseaux-naq-nio-nva-m-1",
     tags: ["donnees-ouvertes-1", "gtfs", "netex", "nouvelle-aquitaine-2"]
   },
   errors: [],
   data: #DB.Dataset<>,
   valid?: true
 >}
iex(8)> Logger.configure(level: :debug)
:ok
iex(9)> Repo.insert_or_update(changeset)
09:55:58.850 [debug] QUERY OK db=0.5ms idle=1299.5ms
begin []
09:55:59.157 [debug] QUERY OK source="dataset" db=304.6ms
UPDATE "dataset" SET "created_at" = $1, "datagouv_id" = $2, "datagouv_title" = $3, "description" = $4, "full_logo" = $5, "last_update" = $6, "licence" = $7, "logo" = $8, "organization" = $9, "organization_id" = $10, "slug" = $11, "tags" = $12, "updated_at" = $13 WHERE "id" = $14 [~U[2022-03-10 00:00:00.000000Z], "632a56a6052625d602eacfa4", "Offre de transport - CA du Niortais", "Ce jeu de données contient la liste des arrêts, des horaires et des parcours théoriques du réseau de transport urbain de la CA du Niortais. Les données sont diffusées par Nouvelle-Aquitaine Mobilités et produites par [Tan lib](https://www.tanlib.com/). Pour ce jeu de données, les données sont disponibles en temps réel, sous la forme d'une API au format SIRI. La documentation du flux SIRI est accessible ici : https://api.okina.fr/catalog/api/05171303-40dc-457d-9713-0340dc257d63/doc?page=077a05d3-6429-4944-ba05-d36429e94413", "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-original.jpg", ~U[2024-07-15 00:00:00.000000Z], "odc-odbl", "https://static.data.gouv.fr/avatars/73/d719168497452aa3d36ae1100e4b52-100.jpg", "Nouvelle-Aquitaine Mobilités", "5c52f0cc8b4c410915918eee", "arrets-horaires-et-parcours-theoriques-des-reseaux-naq-nio-nva-m-1", ["donnees-ouvertes-1", "gtfs", "netex", "nouvelle-aquitaine-2"], ~U[2024-07-16 07:55:58.850679Z], 676]
09:55:59.158 [debug] QUERY OK source="resource_unavailability" db=1.2ms
DELETE FROM "resource_unavailability" AS r0 WHERE (r0."resource_id" = $1) [81921]
09:55:59.298 [debug] QUERY OK source="resource" db=139.2ms
DELETE FROM "resource" WHERE "id" = $1 [81921]
09:55:59.299 [debug] QUERY OK source="resource_unavailability" db=0.4ms
DELETE FROM "resource_unavailability" AS r0 WHERE (r0."resource_id" = $1) [81812]
09:55:59.395 [debug] QUERY OK source="resource" db=96.2ms
DELETE FROM "resource" WHERE "id" = $1 [81812]
09:55:59.397 [debug] QUERY OK source="resource_unavailability" db=1.0ms
DELETE FROM "resource_unavailability" AS r0 WHERE (r0."resource_id" = $1) [58544]
09:55:59.545 [debug] QUERY ERROR source="resource" db=147.9ms
DELETE FROM "resource" WHERE "id" = $1 [58544]
09:55:59.545 [debug] QUERY OK db=0.5ms
rollback []
** (Ecto.ConstraintError) constraint error when attempting to delete struct:

    * "dataset_history_resources_resource_metadata_id_fkey" (foreign_key_constraint)

If you would like to stop this constraint violation from raising an
exception and instead add it as an error to your changeset, please
call `foreign_key_constraint/3` on your changeset with the constraint
`:name` as an option.

The changeset has not defined any constraint.

    (ecto 3.11.2) lib/ecto/repo/schema.ex:815: anonymous fn/4 in Ecto.Repo.Schema.constraints_to_errors/3
    (elixir 1.16.2) lib/enum.ex:1700: Enum."-map/2-lists^map/1-1-"/2
    (ecto 3.11.2) lib/ecto/repo/schema.ex:799: Ecto.Repo.Schema.constraints_to_errors/3
    (ecto 3.11.2) lib/ecto/repo/schema.ex:780: Ecto.Repo.Schema.apply/4
    (ecto 3.11.2) lib/ecto/repo/schema.ex:571: anonymous fn/13 in Ecto.Repo.Schema.do_delete/4
    (ecto 3.11.2) lib/ecto/association.ex:948: Ecto.Association.Has.on_repo_change/5
    (ecto 3.11.2) lib/ecto/association.ex:934: Ecto.Association.Has.on_repo_change/5
    iex:9: (file)
AntoineAugusti commented 2 months ago

Tenter d'exécuter la requête de suppression ne semble pas poser de problème 🤔

begin;
explain analyze DELETE FROM "resource" WHERE "id" = 58544;
rollback;
Delete on resource  (cost=0.28..2.50 rows=0 width=0) (actual time=0.172..0.173 rows=0 loops=1)
  ->  Index Scan using resource_pkey on resource  (cost=0.28..2.50 rows=1 width=6) (actual time=0.055..0.056 rows=1 loops=1)
        Index Cond: (id = 58544)
Planning Time: 0.275 ms
Trigger for constraint dataset_history_resources_resource_id_fkey on resource: time=715.239 calls=1
Trigger for constraint multi_validation_resource_id_fkey on resource: time=4.975 calls=1
Trigger for constraint multi_validation_secondary_resource_id_fkey on resource: time=159.877 calls=1
Trigger for constraint resource_history_resource_id_fkey on resource: time=1.934 calls=1
Trigger for constraint resource_metadata_resource_id_fkey on resource: time=5.834 calls=1
Trigger for constraint resource_unavailability_resource_id_fkey on resource: time=1.822 calls=1
Trigger for constraint resource_related_resource_src_id_fkey on resource: time=2.077 calls=1
Trigger for constraint resource_related_resource_dst_id_fkey on resource: time=0.150 calls=1
Trigger for constraint dataset_history_resources_validation_id_fkey on multi_validation: time=21.235 calls=296
Trigger for constraint resource_metadata_multi_validation_id_fkey on multi_validation: time=12.594 calls=296
Trigger for constraint dataset_history_resources_resource_metadata_id_fkey on resource_metadata: time=58.510 calls=1081
Trigger for constraint dataset_history_resources_dataset_history_id_fkey on dataset_history_resources: time=109.724 calls=230
Trigger for constraint dataset_history_resources_resource_metadata_id_fkey on dataset_history_resources: time=0.010 calls=13
Execution Time: 1094.637 ms
AntoineAugusti commented 2 months ago

@etalab/transport-tech Je n'ai pas trouvé, j'ai mis d'autres éléments dans le ticket mais je ne vois toujours pas ce qui pourrait poser un problème au niveau schéma de BDD. À ce stade je manque d'idées. Je ne peux pas restore un dump en BDD pour tenter plus de choses en local.

Je laisse voir si un autre dev a une idée et l'envie de voir. Sinon je pensais tenter de supprimer les anciennes ressources puis effectuer la modif en BO.

cyrilmorin commented 2 months ago

OK pas de souci @AntoineAugusti, pour ne pas bloquer l'agglo et NAM, je vais tout simplement créé un nouveau dataset pour NAM et on repartira de 0 pour l'historique, ce n'est pas si grave.

Je propose de laisser ce dataset qui en plus contient le GTFS-RT contrairement à NAM actuellement qui doit le rajouter prochainement. Une fois le GTFS-RT ok côté NAM, on pourra masquer ce dataset pour que vous puissiez analyser tranquillement.

Sounds good ?

AntoineAugusti commented 2 months ago

@cyrilmorin Si tu peux attendre encore 1 jour ou 2 peut-être qu'un autre dev aura une idée !

cyrilmorin commented 2 months ago

OK ça marche !

AntoineAugusti commented 2 months ago

@cyrilmorin Je t'ai fait la modification en prod pour le jeu de données.

J'ai supprimé les ressources d'abord

delete from resource where dataset_id = 676

puis j'ai fait la modification en BO en indiquant la nouvelle URL de référence data.gouv.fr.

Côté tech on pourra investiguer le problème avec le dump de base de données du jour.

cyrilmorin commented 2 months ago

OK nickel merci @AntoineAugusti

AntoineAugusti commented 2 months ago

Je vais clore ce ticket, le problème spécifique à ce JDD a été résolu. On n'a pas identifié le bug plus général mais celui-ci n'est pas survenu fréquemment ou dans le passé.

Si ceci revient, il faudra y passer plus temps et le corriger.