mirror of
https://github.com/kremalicious/umami.git
synced 2024-06-28 16:57:52 +02:00
add subdivision2 to schema
This commit is contained in:
parent
b6cc6cb655
commit
074fa2c5fc
|
@ -16,6 +16,7 @@ CREATE TABLE event
|
||||||
language LowCardinality(String),
|
language LowCardinality(String),
|
||||||
country LowCardinality(String),
|
country LowCardinality(String),
|
||||||
subdivision LowCardinality(String),
|
subdivision LowCardinality(String),
|
||||||
|
subdivision2 LowCardinality(String),
|
||||||
city String,
|
city String,
|
||||||
--pageview
|
--pageview
|
||||||
url String,
|
url String,
|
||||||
|
@ -44,7 +45,8 @@ CREATE TABLE event_queue (
|
||||||
screen LowCardinality(String),
|
screen LowCardinality(String),
|
||||||
language LowCardinality(String),
|
language LowCardinality(String),
|
||||||
country LowCardinality(String),
|
country LowCardinality(String),
|
||||||
subdivision LowCardinality(String),
|
subdivision1 LowCardinality(String),
|
||||||
|
subdivision2 LowCardinality(String),
|
||||||
city String,
|
city String,
|
||||||
--pageview
|
--pageview
|
||||||
url String,
|
url String,
|
||||||
|
@ -76,13 +78,14 @@ SELECT website_id,
|
||||||
screen,
|
screen,
|
||||||
language,
|
language,
|
||||||
country,
|
country,
|
||||||
subdivision,
|
subdivision1,
|
||||||
|
subdivision2,
|
||||||
city,
|
city,
|
||||||
url,
|
url,
|
||||||
referrer,
|
referrer,
|
||||||
page_title,
|
page_title,
|
||||||
event_type,
|
event_type,
|
||||||
event_name,
|
event_name,
|
||||||
if((empty(event_data) = 0) AND startsWith(event_data, '"'), concat('{', event_data, ': true}'), event_data) AS event_data,
|
event_data,
|
||||||
created_at
|
created_at
|
||||||
FROM event_queue;
|
FROM event_queue;
|
|
@ -24,7 +24,8 @@ CREATE TABLE `session` (
|
||||||
`screen` VARCHAR(11) NULL,
|
`screen` VARCHAR(11) NULL,
|
||||||
`language` VARCHAR(35) NULL,
|
`language` VARCHAR(35) NULL,
|
||||||
`country` CHAR(2) NULL,
|
`country` CHAR(2) NULL,
|
||||||
`subdivision` CHAR(3) NULL,
|
`subdivision1` CHAR(3) NULL,
|
||||||
|
`subdivision2` CHAR(3) NULL,
|
||||||
`city` VARCHAR(50) NULL,
|
`city` VARCHAR(50) NULL,
|
||||||
`created_at` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
|
`created_at` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
|
||||||
|
|
||||||
|
|
|
@ -25,18 +25,19 @@ model User {
|
||||||
}
|
}
|
||||||
|
|
||||||
model Session {
|
model Session {
|
||||||
id String @id @unique @map("session_id") @db.VarChar(36)
|
id String @id @unique @map("session_id") @db.VarChar(36)
|
||||||
websiteId String @map("website_id") @db.VarChar(36)
|
websiteId String @map("website_id") @db.VarChar(36)
|
||||||
hostname String? @db.VarChar(100)
|
hostname String? @db.VarChar(100)
|
||||||
browser String? @db.VarChar(20)
|
browser String? @db.VarChar(20)
|
||||||
os String? @db.VarChar(20)
|
os String? @db.VarChar(20)
|
||||||
device String? @db.VarChar(20)
|
device String? @db.VarChar(20)
|
||||||
screen String? @db.VarChar(11)
|
screen String? @db.VarChar(11)
|
||||||
language String? @db.VarChar(35)
|
language String? @db.VarChar(35)
|
||||||
country String? @db.Char(2)
|
country String? @db.Char(2)
|
||||||
subdivision String? @db.Char(3)
|
subdivision1 String? @db.Char(3)
|
||||||
city String? @db.VarChar(50)
|
subdivision2 String? @db.Char(3)
|
||||||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
|
city String? @db.VarChar(50)
|
||||||
|
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
|
||||||
|
|
||||||
@@index([createdAt])
|
@@index([createdAt])
|
||||||
@@index([websiteId])
|
@@index([websiteId])
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
-- AlterTable
|
-- AlterTable
|
||||||
ALTER TABLE "session" ADD COLUMN "city" VARCHAR(50),
|
ALTER TABLE "session" ADD COLUMN "city" VARCHAR(50),
|
||||||
ADD COLUMN "subdivision" CHAR(3);
|
ADD COLUMN "subdivision1" CHAR(3),
|
||||||
|
ADD COLUMN "subdivision2" CHAR(3);
|
||||||
|
|
||||||
-- AlterTable
|
-- AlterTable
|
||||||
ALTER TABLE "website_event" ADD COLUMN "page_title" VARCHAR(500);
|
ALTER TABLE "website_event" ADD COLUMN "page_title" VARCHAR(500);
|
||||||
|
|
|
@ -25,18 +25,19 @@ model User {
|
||||||
}
|
}
|
||||||
|
|
||||||
model Session {
|
model Session {
|
||||||
id String @id @unique @map("session_id") @db.Uuid
|
id String @id @unique @map("session_id") @db.Uuid
|
||||||
websiteId String @map("website_id") @db.Uuid
|
websiteId String @map("website_id") @db.Uuid
|
||||||
hostname String? @db.VarChar(100)
|
hostname String? @db.VarChar(100)
|
||||||
browser String? @db.VarChar(20)
|
browser String? @db.VarChar(20)
|
||||||
os String? @db.VarChar(20)
|
os String? @db.VarChar(20)
|
||||||
device String? @db.VarChar(20)
|
device String? @db.VarChar(20)
|
||||||
screen String? @db.VarChar(11)
|
screen String? @db.VarChar(11)
|
||||||
language String? @db.VarChar(35)
|
language String? @db.VarChar(35)
|
||||||
country String? @db.Char(2)
|
country String? @db.Char(2)
|
||||||
subdivision String? @db.Char(3)
|
subdivision1 String? @db.Char(3)
|
||||||
city String? @db.VarChar(50)
|
subdivision2 String? @db.Char(3)
|
||||||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
city String? @db.VarChar(50)
|
||||||
|
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||||
|
|
||||||
@@index([createdAt])
|
@@index([createdAt])
|
||||||
@@index([websiteId])
|
@@index([websiteId])
|
||||||
|
|
23
scripts/test.js
Normal file
23
scripts/test.js
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
/* eslint-disable no-console */
|
||||||
|
require('dotenv').config();
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
const https = require('https');
|
||||||
|
const zlib = require('zlib');
|
||||||
|
const tar = require('tar');
|
||||||
|
const maxmind = require('maxmind');
|
||||||
|
|
||||||
|
async function getLocation() {
|
||||||
|
const lookup = await maxmind.open(path.resolve('../node_modules/.geo/GeoLite2-City.mmdb'));
|
||||||
|
const result = lookup.get('104.93.28.0');
|
||||||
|
|
||||||
|
const country = result?.country?.iso_code ?? result?.registered_country?.iso_code;
|
||||||
|
const subdivision = result?.subdivisions[0].iso_code;
|
||||||
|
const subdivision2 = result?.subdivisions[0].names;
|
||||||
|
const subdivision3 = result?.subdivisions[1].names;
|
||||||
|
const city = result?.city?.names?.en;
|
||||||
|
console.log(result);
|
||||||
|
console.log(country, subdivision, city, subdivision2, subdivision3);
|
||||||
|
}
|
||||||
|
|
||||||
|
getLocation();
|
Loading…
Reference in New Issue
Block a user