Migrate your habits from Nomie to Loop Habit Tracker.
Go to file
Marty Oehme 7c606436eb
Fix habit creation
Habit creation fully works successfully for the first time with this
setup.
2021-08-27 23:34:19 +02:00
loop Fix habit creation 2021-08-27 23:34:19 +02:00
.gitignore Add gitignore for data and outputs 2021-08-27 10:13:22 +02:00
README.md Fix habit creation 2021-08-27 23:34:19 +02:00
migrate.py Add simple habit migration test 2021-08-27 21:27:42 +02:00
poetry.lock initial commit 2021-08-26 21:57:49 +02:00
pyproject.toml initial commit 2021-08-26 21:57:49 +02:00

README.md

Schemas

A collection of the schemas of Loop habit sqlite database for later migration

Loop Habit Tracker

Repetitions - 2021-08-26 -- seems to replace the older Chains table?

id|habit|timestamp|value 1|1|1629936000000|2 2|2|1629936000000|2 3|2|1629676800000|2

Habits - from 2021-07-23

id | archived | color | description | freq_den | freq_num | highlight | name | position | reminder_hour | reminder_min | reminder_days | type | target_type | target_value | unit | question | uuid 1 | 0 | 4 | | 1 | 1 | 0 | mood | 0 | | | 0 | 1 | 0 | 10.0 | | How do you feel today? | d183a7dd755e44ce9a5782f518b402b4 2 | 0 | 1 | | 1 | 1 | 0 | reading | 1 | | | 0 | 0 | 0 | 0.0 | | Did you read today? | 6b361353e0914a698e896798d5ebca6e 3 | 0 | 15 | | 1 | 1 | 0 | sex 💏 | 2 | | | 0 | 0 | 0 | 0.0 | | Did you have sex today? | 41b646162dc542b3ba223993847d861b

Habits - from 2021-08-26

id | archived | color | description | freq_den | freq_num | highlight | name | position | reminder_hour | reminder_min | reminder_days | type | target_type | target_value | unit | question | uuid 1 | 0 | 11 | | 1 | 1 | 0 | Gt | 0 | | | 0 | 0 | 0 | 0.0 | | | cfed6f97b67e435d8461ba1accf7457e 2 | 0 | 15 | And note | 3 | 1 | 0 | Iamtrack | 1 | 23 | 0 | 127 | 0 | 0 | 0.0 | | And have all fields? | 1ebe2d429e0d4cd293b1ea038c2b079a

Chains - habit maps to habit table ID - 2021-07-23

id|habit|timestamp|value 1|1|1627257600000|5000 2|2|1627257600000|2 3|2|1627171200000|2 4|2|1626998400000|2 5|1|1626912000000|10000 6|1|1626998400000|3000 7|3|1627171200000|2

EVENTS -- empty?

Nomie

Schema translation

trackers: nomie -> loop

? | id (primary key increasing id for each tracker, should autoincrement) hidden | archived color | color (but nomie: #369DD3, loop 2 of available selection) label + emoji | name ? | description (a little one-liner extended description) ? | freq_den (frequency denominator, either 7 for per week or 30 for per month) ? | freq_num (frequency numerator, how often per week/month. Has to be one for ranges afaik?) ? | highlight (function ??) ? | position (which vertical position on screen tracker takes. must be unique?) ? | reminder_hour (simple int) ? | reminder_min (simple int) ? | reminder_days (simple int, but i'm not sure how, saw 127) type | type (range,counter [more in nomie]; string in nomie, int in loop) ? | target_type (??) ? | target_value (??) uom | unit (text description of value, in nomie set values with num being no-value count) ? | question (text question tracker asks) id | uuid (unique id, must be unique surprisingly)

nomie has no concept of 'ideal' repetitions (i.e. success if.. once a day; twice a week; 4 miles a month; ...) nomie has no concept of reminder times for trackers loop has no concept of 'score' associated to trackers (when e.g. tracking bad things)

Nomie trackers

{ 'mood': { 'tag': 'mood', 'id': '02283493c7ed0b8dd08de38ae5ca4944', 'type': 'range', 'color': '#369DD3', 'math': 'mean', 'ignore_zeros': False, 'uom': 'num', 'emoji': '😉', 'default': '3', 'max': '10', 'min': '1', 'score': 'custom', 'score_calc': [{'if': 'value', 'is': 'gt', 'v': 5, 'sc': '1'}, {'if': 'value', 'is': 'lt', 'v': 5, 'sc': '-1'}], 'goal': None, 'one_tap': False, 'include': '', 'hidden': False, 'label': 'Mood' }, 'cigarette': { 'tag': 'cigarette', 'id': '551faae2c5d865ca81e20d00c952b679', 'type': 'tick', 'color': '#EB144C', 'math': 'su m', 'ignore_zeros': False, 'uom': 'num', 'emoji': '🚬', 'default': None, 'score': '-1', 'one_tap': True, 'incl ude': '', 'hidden': False, 'label': 'Cigarette' }, }

DataFrame sample from Nomie

      _id                                               note            end          start  score  lat  lng location  offset modified    source

0 a1a85aac2f #mood(7) #social #date #cigarette #alcohol #go... 1546282800000 1546282800000 0 NaN NaN -60 False importer 1 d717092fbd #mood(7) #reading #social #cigarette #good_mea... 1546209780000 1546209780000 0 NaN NaN -60 False importer 2 311a54f23e #mood(7) #work #social #date #cigarette #relax 1530381900000 1530381900000 0 NaN NaN -60 False importer 3 7f40cce690 #mood(7) #work #cigarette #good_meal #surfing 1530308340000 1530308340000 0 NaN NaN -60 False importer 4 d75e110fdc #mood(7) #reading #work #cigarette #good_meal ... 1530293580000 1530293580000 0 NaN NaN -60 False importer