tasklists = Table("tasklist") tasklists.add_cols( Column("title").text.not_null.default("''"), Column("updated").integer, Column("listtype").text, Column("sorting").text, Column("deleted").integer.not_null.default(0), # New fields Column("ctime").timestamp.default_current_timestamp, Column("mtime").timestamp.default_current_timestamp, # GTask fields Column("account").text, Column("remoteid").text, ) tasklists.add_constraints(Unique("account", "remoteid").on_conflict_replace) tables.append(tasklists) tasks = Table("task") tasks.add_cols( Column("title").text.not_null.default("''"), Column("note").text.not_null.default("''"), Column("completed").integer, Column("updated").integer, Column("due").integer, Column("locked").integer.not_null.default(0), Column("deleted").integer.not_null.default(0), # Positions Column("posleft").integer.not_null.default(1), Column("posright").integer.not_null.default(2),
triggers = [] tasklists = Table('tasklist') tasklists.add_cols( Column('title').text.not_null.default("''"), Column('updated').integer, Column('listtype').text, Column('sorting').text, Column('deleted').integer.not_null.default(0), # New fields Column('ctime').timestamp.default_current_timestamp, Column('mtime').timestamp.default_current_timestamp, # GTask fields Column('account').text, Column('remoteid').text) tasklists.add_constraints(Unique('account', 'remoteid').on_conflict_replace) tables.append(tasklists) tasks = Table('task') tasks.add_cols( Column('title').text.not_null.default("''"), Column('note').text.not_null.default("''"), Column('completed').integer, Column('updated').integer, Column('due').integer, Column('locked').integer.not_null.default(0), Column('deleted').integer.not_null.default(0), # Positions Column('posleft').integer.not_null.default(1), Column('posright').integer.not_null.default(2),
from AndroidCodeGenerator.generator import Generator from AndroidCodeGenerator.db_table import (Table, Column, ForeignKey, Unique, Trigger) from AndroidCodeGenerator.sql_validator import SQLTester links = Table('Link').add_cols(Column('sha').text.not_null, Column('url').text.not_null, Column('timestamp').timestamp.not_null\ .default_current_timestamp, Column('deleted').integer.not_null\ .default(0), Column('synced').integer.not_null\ .default(0)) links.add_constraints(Unique('url').on_conflict_ignore, Unique('sha').on_conflict_ignore) ''' deltrigger = Trigger("tr_del_link").temp.if_not_exists deltrigger.after.delete_on(links.name) deltrigger.do_sql("INSERT INTO {table} (sha, url, timestamp, deleted) VALUES\ (old.sha, old.url, old.timestamp, 1)".format(table=synclinks.name)) intrigger = Trigger("tr_ins_link").temp.if_not_exists intrigger.after.insert_on(links.name) intrigger.do_sql("INSERT INTO {table} (sha, url, timestamp) \ VALUES (new.sha, new.url, new.timestamp)"\ .format(table=synclinks.name)) #uptrigger = Trigger("tr_upd_link").temp.if_not_exists