Пример #1
0
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),
Пример #2
0
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