Some checks failed
Bigfoot / Build & Test Debug (Unity Build: ON) (push) Has been cancelled
Bigfoot / Build & Test RelWithDebInfo (Unity Build: OFF) (push) Has been cancelled
Bigfoot / Build & Test RelWithDebInfo (Unity Build: ON) (push) Has been cancelled
Bigfoot / Build & Test Release (Unity Build: OFF) (push) Has been cancelled
Bigfoot / Build & Test Release (Unity Build: ON) (push) Has been cancelled
Bigfoot / Build & Test Debug (Unity Build: OFF) (push) Has been cancelled
Reviewed-on: #1 Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com> Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
41 lines
1.3 KiB
SQL
41 lines
1.3 KiB
SQL
PRAGMA journal_mode=WAL;
|
|
PRAGMA foreign_keys = ON;
|
|
|
|
DROP TABLE IF EXISTS AssetHeader;
|
|
CREATE TABLE IF NOT EXISTS AssetHeader (
|
|
UUID BLOB NOT NULL UNIQUE,
|
|
Name TEXT NOT NULL UNIQUE,
|
|
TypeID INTEGER NOT NULL,
|
|
TypeName TEXT NOT NULL,
|
|
|
|
CreateTime INTEGER NOT NULL DEFAULT(CAST(unixepoch('subsec') AS INTEGER) * 1000000),
|
|
ModificationTime INTEGER NOT NULL DEFAULT(CAST(unixepoch('subsec') AS INTEGER) * 1000000),
|
|
|
|
PRIMARY KEY(UUID)
|
|
);
|
|
|
|
CREATE TRIGGER IF NOT EXISTS AssetHeader_UpdateTime
|
|
AFTER UPDATE OF Name, TypeID, TypeName ON AssetHeader FOR EACH ROW
|
|
BEGIN
|
|
UPDATE AssetHeader
|
|
SET ModificationTime = CAST(unixepoch('subsec') AS INTEGER) * 1000000
|
|
WHERE UUID = NEW.UUID;
|
|
END;
|
|
|
|
DROP TABLE IF EXISTS Asset;
|
|
CREATE TABLE IF NOT EXISTS Asset (
|
|
UUID BLOB NOT NULL UNIQUE,
|
|
|
|
Asset BLOB NOT NULL,
|
|
|
|
PRIMARY KEY(UUID),
|
|
FOREIGN KEY(UUID) REFERENCES AssetHeader(UUID) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TRIGGER IF NOT EXISTS Asset_UpdateTime
|
|
AFTER UPDATE OF Asset ON Asset FOR EACH ROW
|
|
BEGIN
|
|
UPDATE AssetHeader
|
|
SET ModificationTime = CAST(unixepoch('subsec') AS INTEGER) * 1000000
|
|
WHERE UUID = NEW.UUID;
|
|
END; |