todoist-to-sqlite icon indicating copy to clipboard operation
todoist-to-sqlite copied to clipboard

`sqlite3.OperationalError: no such column: auto_reminder`

Open pkoch opened this issue 2 years ago • 1 comments

$ todoist-to-sqlite sync todoist.db
Traceback (most recent call last):
  File "/Users/pkoch/.local/bin/todoist-to-sqlite", line 8, in <module>
    sys.exit(cli())
  File "/Users/pkoch/.local/pipx/venvs/todoist-to-sqlite/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/Users/pkoch/.local/pipx/venvs/todoist-to-sqlite/lib/python3.9/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/Users/pkoch/.local/pipx/venvs/todoist-to-sqlite/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/pkoch/.local/pipx/venvs/todoist-to-sqlite/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/pkoch/.local/pipx/venvs/todoist-to-sqlite/lib/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/Users/pkoch/.local/pipx/venvs/todoist-to-sqlite/lib/python3.9/site-packages/todoist_to_sqlite/cli.py", line 89, in sync
    db["users"].upsert(sync_data["user"], pk="id")
  File "/Users/pkoch/.local/pipx/venvs/todoist-to-sqlite/lib/python3.9/site-packages/sqlite_utils/db.py", line 3134, in upsert
    return self.upsert_all(
  File "/Users/pkoch/.local/pipx/venvs/todoist-to-sqlite/lib/python3.9/site-packages/sqlite_utils/db.py", line 3169, in upsert_all
    return self.insert_all(
  File "/Users/pkoch/.local/pipx/venvs/todoist-to-sqlite/lib/python3.9/site-packages/sqlite_utils/db.py", line 3093, in insert_all
    self.insert_chunk(
  File "/Users/pkoch/.local/pipx/venvs/todoist-to-sqlite/lib/python3.9/site-packages/sqlite_utils/db.py", line 2858, in insert_chunk
    result = self.db.execute(query, params)
  File "/Users/pkoch/.local/pipx/venvs/todoist-to-sqlite/lib/python3.9/site-packages/sqlite_utils/db.py", line 473, in execute
    return self.conn.execute(sql, parameters)
sqlite3.OperationalError: no such column: auto_reminder

Not quite sure what's going on, schema-wise. I'd not expect parity to be kept between collaborators and the auth'd user.

pkoch avatar Aug 30 '22 23:08 pkoch

What I ended up doing was:

     db["users"].upsert_all(
          sync_data["collaborators"] + [sync_data["user"]],
          pk="id",
          foreign_keys=utils.foreign_keys_for("users"),
      )

This adds a bunch of columns to the users table. Maybe it'd make more sense to have a self column, since we know more about the logged-in user than just collaborators (like preferences and stuff)?

pkoch avatar Sep 01 '22 16:09 pkoch