--- title: Manually fixing data --- :::note If you are using `docker-compose`, you are using Docker Compose v1, which has been deprecated. Docker Compose commands refer to Docker Compose v2. Consider upgrading your docker setup, see [Migrate to Compose V2](https://docs.docker.com/compose/migrate/) ::: ## Get the ID First you need to find out the ID of the drive or charge: import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; - Open the `Drives` dashboard and click on the start date of the drive. - The URL will contain the drive ID, for example `&var-drive_id=9999`. - Open the `Charges` dashboard and click on the start date of the charge. - The URL will contain the charge id, for example `&var-charging_process_id=9999`. ## Terminate a drive or charge If for some reason a drive or charge hasn't been fully recorded, for example due to a bug or an unexpected restart, you can terminate it manually. Among other things, this assigns an end date to the drive/charge. Replace `9999` with the actual ID then run the command while the TeslaMate container is running: ```bash docker compose exec teslamate bin/teslamate rpc \ "TeslaMate.Repo.get!(TeslaMate.Log.Drive, 9999) |> TeslaMate.Log.close_drive()" ``` ```bash docker compose exec teslamate bin/teslamate rpc \ "TeslaMate.Repo.get!(TeslaMate.Log.ChargingProcess, 9999) |> TeslaMate.Log.complete_charging_process()" ``` ## Delete a drive or charge If for some reason a drive or charge was recorded incorrectly, you can delete it. 1. Attach to the **running** database container: ```bash docker compose exec database psql teslamate teslamate ``` :::note If you get the error `No such service: database`, update your _docker-compose.yml_ or use `db` instead of `database` in the above command. ::: 2. Afterwards replace `9999` with the actual ID then run the query: ```sql DELETE FROM drives WHERE id = 9999; ``` ```sql DELETE FROM charging_processes WHERE id = 9999; ``` ## Remove a vehicle from the database **NOTE:** Always [backup](https://docs.teslamate.org/docs/maintenance/backup_restore "backup") your data before performing any database changes. 1. Connect to your running TeslaMate database ```bash docker compose exec database psql teslamate teslamate ``` :::note If you get the error `No such service: database`, update your _docker-compose.yml_ or use `db` instead of `database` in the above command. ::: 2. Identify the right car ID in the database to remove ``` SELECT id, vin FROM cars; ``` 3. Based upon the output, run the following command replacing `num` with the ID from the previous command. ``` DELETE FROM cars WHERE id = num; DELETE FROM car_settings WHERE id = num; DELETE FROM charging_processes WHERE car_id = num; DELETE from charges WHERE charging_process_id in (select id from charging_processes where car_id = num); DELETE FROM drives WHERE car_id = num; DELETE FROM positions WHERE car_id = num; DELETE FROM states WHERE car_id = num; DELETE FROM updates WHERE car_id = num; ```