{'Guid': 'VARCHAR(64) NOT NULL PRIMARY KEY', 'Package': 'VARCHAR(255) NOT NULL', 'SourceTable': 'VARCHAR(128) NOT NULL', 'SourceKey': 'VARCHAR(128) NOT NULL', 'AsanaGid': 'VARCHAR(64) NOT NULL', 'AsanaType': "VARCHAR(32) NOT NULL DEFAULT 'task'", 'SyncStatus': "VARCHAR(32) DEFAULT 'synced'", 'SyncedAt': 'DATETIME DEFAULT CURRENT_TIMESTAMP', 'CreateTime': 'DATETIME DEFAULT CURRENT_TIMESTAMP', 'UpdateTime': 'DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'}
INSERT INTO def_asana_sync
(Guid, Package, SourceTable, SourceKey,
AsanaGid, AsanaType, SyncStatus, SyncedAt)
VALUES
('{guid}', '{package}', '{source_table}',
'{source_key}', '{asana_gid}',
'{asana_type}', 'synced', NOW())
ON DUPLICATE KEY UPDATE
AsanaGid = VALUES(AsanaGid),
AsanaType = VALUES(AsanaType),
SyncStatus = VALUES(SyncStatus),
SyncedAt = NOW()
SELECT AsanaGid FROM def_asana_sync WHERE Package = '{package}'
AND SourceTable = '{source_table}'
AND SourceKey = '{source_key}'
LIMIT 1
SELECT SourceKey FROM def_asana_sync WHERE Package = '{package}'
AND AsanaGid = '{asana_gid}'
LIMIT 1
SELECT SourceTable, SourceKey,
AsanaGid, AsanaType,
SyncStatus, SyncedAt
FROM def_asana_sync WHERE Package = '{package}' ORDER BY SyncedAt DESC
SELECT SourceKey, AsanaGid,
AsanaType, SyncStatus, SyncedAt
FROM def_asana_sync WHERE Package = '{package}'
AND SourceTable = '{source_table}'
ORDER BY SyncedAt DESC