Add initial database schema and journal entries for token management

- Created a new snapshot JSON file (0003_snapshot.json) defining the schema for tables including account_tokens, accounts, checkin_logs, events, model_availability, proxy_logs, route_channels, settings, sites, token_model_availability, and token_routes.
- Added columns, indexes, and foreign key constraints for each table to ensure data integrity and relationships.
- Introduced a journal JSON file (_journal.json) to track schema versions and changes, including entries for version 6 with relevant tags and timestamps.
This commit is contained in:
cita
2026-02-28 22:20:28 +08:00
parent 2eeebbd686
commit 9405d468d9
8 changed files with 2177 additions and 1 deletions
+103
View File
@@ -0,0 +1,103 @@
CREATE TABLE `accounts` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`site_id` integer NOT NULL,
`username` text,
`access_token` text NOT NULL,
`api_token` text,
`balance` real DEFAULT 0,
`balance_used` real DEFAULT 0,
`quota` real DEFAULT 0,
`unit_cost` real,
`value_score` real DEFAULT 0,
`status` text DEFAULT 'active',
`checkin_enabled` integer DEFAULT true,
`last_checkin_at` text,
`last_balance_refresh` text,
`extra_config` text,
`created_at` text DEFAULT (datetime('now')),
`updated_at` text DEFAULT (datetime('now')),
FOREIGN KEY (`site_id`) REFERENCES `sites`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
CREATE TABLE `checkin_logs` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`account_id` integer NOT NULL,
`status` text NOT NULL,
`message` text,
`reward` text,
`created_at` text DEFAULT (datetime('now')),
FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
CREATE TABLE `model_availability` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`account_id` integer NOT NULL,
`model_name` text NOT NULL,
`available` integer,
`latency_ms` integer,
`checked_at` text DEFAULT (datetime('now')),
FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
CREATE TABLE `proxy_logs` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`route_id` integer,
`channel_id` integer,
`account_id` integer,
`model_requested` text,
`model_actual` text,
`status` text,
`http_status` integer,
`latency_ms` integer,
`prompt_tokens` integer,
`completion_tokens` integer,
`total_tokens` integer,
`estimated_cost` real,
`error_message` text,
`retry_count` integer DEFAULT 0,
`created_at` text DEFAULT (datetime('now'))
);
--> statement-breakpoint
CREATE TABLE `route_channels` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`route_id` integer NOT NULL,
`account_id` integer NOT NULL,
`priority` integer DEFAULT 0,
`weight` integer DEFAULT 10,
`enabled` integer DEFAULT true,
`manual_override` integer DEFAULT false,
`success_count` integer DEFAULT 0,
`fail_count` integer DEFAULT 0,
`total_latency_ms` integer DEFAULT 0,
`total_cost` real DEFAULT 0,
`last_used_at` text,
`last_fail_at` text,
`cooldown_until` text,
FOREIGN KEY (`route_id`) REFERENCES `token_routes`(`id`) ON UPDATE no action ON DELETE cascade,
FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
CREATE TABLE `settings` (
`key` text PRIMARY KEY NOT NULL,
`value` text
);
--> statement-breakpoint
CREATE TABLE `sites` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`name` text NOT NULL,
`url` text NOT NULL,
`platform` text NOT NULL,
`status` text DEFAULT 'active' NOT NULL,
`api_key` text,
`created_at` text DEFAULT (datetime('now')),
`updated_at` text DEFAULT (datetime('now'))
);
--> statement-breakpoint
CREATE TABLE `token_routes` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`model_pattern` text NOT NULL,
`model_mapping` text,
`enabled` integer DEFAULT true,
`created_at` text DEFAULT (datetime('now')),
`updated_at` text DEFAULT (datetime('now'))
);
+35
View File
@@ -0,0 +1,35 @@
CREATE TABLE IF NOT EXISTS `account_tokens` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`account_id` integer NOT NULL,
`name` text NOT NULL,
`token` text NOT NULL,
`source` text DEFAULT 'manual',
`enabled` integer DEFAULT true,
`is_default` integer DEFAULT false,
`created_at` text DEFAULT (datetime('now')),
`updated_at` text DEFAULT (datetime('now')),
FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
ALTER TABLE `route_channels` ADD COLUMN `token_id` integer;
--> statement-breakpoint
INSERT INTO `account_tokens` (`account_id`, `name`, `token`, `source`, `enabled`, `is_default`, `created_at`, `updated_at`)
SELECT
`a`.`id`,
'default',
`a`.`api_token`,
'legacy',
true,
true,
datetime('now'),
datetime('now')
FROM `accounts` AS `a`
WHERE
`a`.`api_token` IS NOT NULL
AND trim(`a`.`api_token`) <> ''
AND NOT EXISTS (
SELECT 1 FROM `account_tokens` AS `t`
WHERE `t`.`account_id` = `a`.`id`
AND `t`.`token` = `a`.`api_token`
);
+12
View File
@@ -0,0 +1,12 @@
CREATE TABLE IF NOT EXISTS `token_model_availability` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`token_id` integer NOT NULL,
`model_name` text NOT NULL,
`available` integer,
`latency_ms` integer,
`checked_at` text DEFAULT (datetime('now')),
FOREIGN KEY (`token_id`) REFERENCES `account_tokens`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
CREATE UNIQUE INDEX IF NOT EXISTS `token_model_availability_token_model_unique`
ON `token_model_availability` (`token_id`, `model_name`);
+69
View File
@@ -0,0 +1,69 @@
CREATE TABLE IF NOT EXISTS `events` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`type` text NOT NULL,
`title` text NOT NULL,
`message` text,
`level` text DEFAULT 'info' NOT NULL,
`read` integer DEFAULT false,
`related_id` integer,
`related_type` text,
`created_at` text DEFAULT (datetime('now'))
);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `sites_status_idx` ON `sites` (`status`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `accounts_site_id_idx` ON `accounts` (`site_id`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `accounts_status_idx` ON `accounts` (`status`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `accounts_site_status_idx` ON `accounts` (`site_id`,`status`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `account_tokens_account_id_idx` ON `account_tokens` (`account_id`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `account_tokens_account_enabled_idx` ON `account_tokens` (`account_id`,`enabled`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `account_tokens_enabled_idx` ON `account_tokens` (`enabled`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `checkin_logs_account_created_at_idx` ON `checkin_logs` (`account_id`,`created_at`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `checkin_logs_created_at_idx` ON `checkin_logs` (`created_at`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `checkin_logs_status_idx` ON `checkin_logs` (`status`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `model_availability_account_available_idx` ON `model_availability` (`account_id`,`available`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `model_availability_model_name_idx` ON `model_availability` (`model_name`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `token_model_availability_token_available_idx` ON `token_model_availability` (`token_id`,`available`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `token_model_availability_model_name_idx` ON `token_model_availability` (`model_name`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `token_model_availability_available_idx` ON `token_model_availability` (`available`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `token_routes_model_pattern_idx` ON `token_routes` (`model_pattern`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `token_routes_enabled_idx` ON `token_routes` (`enabled`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `route_channels_route_id_idx` ON `route_channels` (`route_id`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `route_channels_account_id_idx` ON `route_channels` (`account_id`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `route_channels_token_id_idx` ON `route_channels` (`token_id`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `route_channels_route_enabled_idx` ON `route_channels` (`route_id`,`enabled`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `route_channels_route_token_idx` ON `route_channels` (`route_id`,`token_id`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `proxy_logs_created_at_idx` ON `proxy_logs` (`created_at`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `proxy_logs_account_created_at_idx` ON `proxy_logs` (`account_id`,`created_at`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `proxy_logs_status_created_at_idx` ON `proxy_logs` (`status`,`created_at`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `proxy_logs_model_actual_created_at_idx` ON `proxy_logs` (`model_actual`,`created_at`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `events_read_created_at_idx` ON `events` (`read`,`created_at`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `events_type_created_at_idx` ON `events` (`type`,`created_at`);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `events_created_at_idx` ON `events` (`created_at`);
+710
View File
@@ -0,0 +1,710 @@
{
"version": "6",
"dialect": "sqlite",
"id": "9035be50-a1b2-4a8a-8d3c-27cf0d4e3a12",
"prevId": "00000000-0000-0000-0000-000000000000",
"tables": {
"accounts": {
"name": "accounts",
"columns": {
"id": {
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true,
"autoincrement": true
},
"site_id": {
"name": "site_id",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"username": {
"name": "username",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"access_token": {
"name": "access_token",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"api_token": {
"name": "api_token",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"balance": {
"name": "balance",
"type": "real",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": 0
},
"balance_used": {
"name": "balance_used",
"type": "real",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": 0
},
"quota": {
"name": "quota",
"type": "real",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": 0
},
"unit_cost": {
"name": "unit_cost",
"type": "real",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"value_score": {
"name": "value_score",
"type": "real",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": 0
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": "'active'"
},
"checkin_enabled": {
"name": "checkin_enabled",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": true
},
"last_checkin_at": {
"name": "last_checkin_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"last_balance_refresh": {
"name": "last_balance_refresh",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"extra_config": {
"name": "extra_config",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": "(datetime('now'))"
},
"updated_at": {
"name": "updated_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": "(datetime('now'))"
}
},
"indexes": {},
"foreignKeys": {
"accounts_site_id_sites_id_fk": {
"name": "accounts_site_id_sites_id_fk",
"tableFrom": "accounts",
"tableTo": "sites",
"columnsFrom": [
"site_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"checkin_logs": {
"name": "checkin_logs",
"columns": {
"id": {
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true,
"autoincrement": true
},
"account_id": {
"name": "account_id",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"message": {
"name": "message",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"reward": {
"name": "reward",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": "(datetime('now'))"
}
},
"indexes": {},
"foreignKeys": {
"checkin_logs_account_id_accounts_id_fk": {
"name": "checkin_logs_account_id_accounts_id_fk",
"tableFrom": "checkin_logs",
"tableTo": "accounts",
"columnsFrom": [
"account_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"model_availability": {
"name": "model_availability",
"columns": {
"id": {
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true,
"autoincrement": true
},
"account_id": {
"name": "account_id",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"model_name": {
"name": "model_name",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"available": {
"name": "available",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"latency_ms": {
"name": "latency_ms",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"checked_at": {
"name": "checked_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": "(datetime('now'))"
}
},
"indexes": {},
"foreignKeys": {
"model_availability_account_id_accounts_id_fk": {
"name": "model_availability_account_id_accounts_id_fk",
"tableFrom": "model_availability",
"tableTo": "accounts",
"columnsFrom": [
"account_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"proxy_logs": {
"name": "proxy_logs",
"columns": {
"id": {
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true,
"autoincrement": true
},
"route_id": {
"name": "route_id",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"channel_id": {
"name": "channel_id",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"account_id": {
"name": "account_id",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"model_requested": {
"name": "model_requested",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"model_actual": {
"name": "model_actual",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"http_status": {
"name": "http_status",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"latency_ms": {
"name": "latency_ms",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"prompt_tokens": {
"name": "prompt_tokens",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"completion_tokens": {
"name": "completion_tokens",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"total_tokens": {
"name": "total_tokens",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"estimated_cost": {
"name": "estimated_cost",
"type": "real",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"error_message": {
"name": "error_message",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"retry_count": {
"name": "retry_count",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": 0
},
"created_at": {
"name": "created_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": "(datetime('now'))"
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"route_channels": {
"name": "route_channels",
"columns": {
"id": {
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true,
"autoincrement": true
},
"route_id": {
"name": "route_id",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"account_id": {
"name": "account_id",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"priority": {
"name": "priority",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": 0
},
"weight": {
"name": "weight",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": 10
},
"enabled": {
"name": "enabled",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": true
},
"manual_override": {
"name": "manual_override",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": false
},
"success_count": {
"name": "success_count",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": 0
},
"fail_count": {
"name": "fail_count",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": 0
},
"total_latency_ms": {
"name": "total_latency_ms",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": 0
},
"total_cost": {
"name": "total_cost",
"type": "real",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": 0
},
"last_used_at": {
"name": "last_used_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"last_fail_at": {
"name": "last_fail_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"cooldown_until": {
"name": "cooldown_until",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"route_channels_route_id_token_routes_id_fk": {
"name": "route_channels_route_id_token_routes_id_fk",
"tableFrom": "route_channels",
"tableTo": "token_routes",
"columnsFrom": [
"route_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"route_channels_account_id_accounts_id_fk": {
"name": "route_channels_account_id_accounts_id_fk",
"tableFrom": "route_channels",
"tableTo": "accounts",
"columnsFrom": [
"account_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"settings": {
"name": "settings",
"columns": {
"key": {
"name": "key",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"value": {
"name": "value",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"sites": {
"name": "sites",
"columns": {
"id": {
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true,
"autoincrement": true
},
"name": {
"name": "name",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"url": {
"name": "url",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"platform": {
"name": "platform",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"api_key": {
"name": "api_key",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": "(datetime('now'))"
},
"updated_at": {
"name": "updated_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": "(datetime('now'))"
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"token_routes": {
"name": "token_routes",
"columns": {
"id": {
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true,
"autoincrement": true
},
"model_pattern": {
"name": "model_pattern",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"model_mapping": {
"name": "model_mapping",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"enabled": {
"name": "enabled",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": true
},
"created_at": {
"name": "created_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": "(datetime('now'))"
},
"updated_at": {
"name": "updated_at",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false,
"default": "(datetime('now'))"
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
}
},
"views": {},
"enums": {},
"_meta": {
"schemas": {},
"tables": {},
"columns": {}
},
"internal": {
"indexes": {}
}
}
File diff suppressed because it is too large Load Diff
+34
View File
@@ -0,0 +1,34 @@
{
"version": "7",
"dialect": "sqlite",
"entries": [
{
"idx": 0,
"version": "6",
"when": 1771906082166,
"tag": "0000_sloppy_blackheart",
"breakpoints": true
},
{
"idx": 1,
"version": "6",
"when": 1771966800000,
"tag": "0001_token_management",
"breakpoints": true
},
{
"idx": 2,
"version": "6",
"when": 1771969800000,
"tag": "0002_token_model_availability",
"breakpoints": true
},
{
"idx": 3,
"version": "6",
"when": 1772079351462,
"tag": "0003_great_blizzard",
"breakpoints": true
}
]
}