migrations: add version tables for all data sources
All checks were successful
Build and test / evals (push) Successful in 11m34s

This commit is contained in:
2026-03-03 12:59:58 +09:00
parent a86f857553
commit 0f7854a4fc
8 changed files with 60 additions and 2 deletions

View File

@@ -1,4 +1,5 @@
abstract class JMdictTableNames {
static const String version = 'JMdict_Version';
static const String entry = 'JMdict_Entry';
static const String kanjiElement = 'JMdict_KanjiElement';
static const String kanjiInfo = 'JMdict_KanjiElementInfo';
@@ -20,6 +21,7 @@ abstract class JMdictTableNames {
static const String senseSeeAlso = 'JMdict_SenseSeeAlso';
static Set<String> get allTables => {
version,
entry,
kanjiElement,
kanjiInfo,

View File

@@ -1,4 +1,5 @@
abstract class KANJIDICTableNames {
static const String version = 'KANJIDIC_Version';
static const String character = 'KANJIDIC_Character';
static const String radicalName = 'KANJIDIC_RadicalName';
static const String codepoint = 'KANJIDIC_Codepoint';
@@ -17,6 +18,7 @@ abstract class KANJIDICTableNames {
static const String nanori = 'KANJIDIC_Nanori';
static Set<String> get allTables => {
version,
character,
radicalName,
codepoint,

View File

@@ -1,5 +1,6 @@
abstract class RADKFILETableNames {
static const String version = 'RADKFILE_Version';
static const String radkfile = 'RADKFILE';
static Set<String> get allTables => {radkfile};
static Set<String> get allTables => {version, radkfile};
}

View File

@@ -1,5 +1,6 @@
abstract class TanosJLPTTableNames {
static const String version = 'JMdict_JLPT_Version';
static const String jlptTag = 'JMdict_JLPTTag';
static Set<String> get allTables => {jlptTag};
static Set<String> get allTables => {version, jlptTag};
}

View File

@@ -1,3 +1,16 @@
CREATE TABLE "JMdict_Version" (
"version" VARCHAR(10) PRIMARY KEY NOT NULL,
"date" DATE NOT NULL,
"hash" VARCHAR(64) NOT NULL
) WITHOUT ROWID;
CREATE TRIGGER "JMdict_Version_SingleRow"
BEFORE INSERT ON "JMdict_Version"
WHEN (SELECT COUNT(*) FROM "JMdict_Version") >= 1
BEGIN
SELECT RAISE(FAIL, 'Only one row allowed in JMdict_Version');
END;
CREATE TABLE "JMdict_InfoDialect" (
"id" VARCHAR(4) PRIMARY KEY NOT NULL,
"description" TEXT NOT NULL

View File

@@ -1,3 +1,16 @@
CREATE TABLE "JMdict_JLPT_Version" (
"version" VARCHAR(10) PRIMARY KEY NOT NULL,
"date" DATE NOT NULL,
"hash" VARCHAR(64) NOT NULL
) WITHOUT ROWID;
CREATE TRIGGER "JMdict_JLPT_Version_SingleRow"
BEFORE INSERT ON "JMdict_JLPT_Version"
WHEN (SELECT COUNT(*) FROM "JMdict_JLPT_Version") >= 1
BEGIN
SELECT RAISE(FAIL, 'Only one row allowed in JMdict_JLPT_Version');
END;
CREATE TABLE "JMdict_JLPTTag" (
"entryId" INTEGER NOT NULL,
"jlptLevel" CHAR(2) NOT NULL CHECK ("jlptLevel" in ('N5', 'N4', 'N3', 'N2', 'N1')),

View File

@@ -1,3 +1,16 @@
CREATE TABLE "RADKFILE_Version" (
"version" VARCHAR(10) PRIMARY KEY NOT NULL,
"date" DATE NOT NULL,
"hash" VARCHAR(64) NOT NULL
) WITHOUT ROWID;
CREATE TRIGGER "RADKFILE_Version_SingleRow"
BEFORE INSERT ON "RADKFILE_Version"
WHEN (SELECT COUNT(*) FROM "RADKFILE_Version") >= 1
BEGIN
SELECT RAISE(FAIL, 'Only one row allowed in RADKFILE_Version');
END;
CREATE TABLE "RADKFILE" (
"kanji" CHAR(1) NOT NULL,
"radical" CHAR(1) NOT NULL,

View File

@@ -1,3 +1,16 @@
CREATE TABLE "KANJIDIC_Version" (
"version" VARCHAR(10) PRIMARY KEY NOT NULL,
"date" DATE NOT NULL,
"hash" VARCHAR(64) NOT NULL
) WITHOUT ROWID;
CREATE TRIGGER "KANJIDIC_Version_SingleRow"
BEFORE INSERT ON "KANJIDIC_Version"
WHEN (SELECT COUNT(*) FROM "KANJIDIC_Version") >= 1
BEGIN
SELECT RAISE(FAIL, 'Only one row allowed in KANJIDIC_Version');
END;
CREATE TABLE "KANJIDIC_Character" (
"literal" CHAR(1) NOT NULL PRIMARY KEY,
"grade" INTEGER CHECK ("grade" BETWEEN 1 AND 10),