Skip to content

Instantly share code, notes, and snippets.

@rightisleft
Created September 9, 2019 18:13
Show Gist options
  • Save rightisleft/a461504342a32b98755aa8ad196f4705 to your computer and use it in GitHub Desktop.
Save rightisleft/a461504342a32b98755aa8ad196f4705 to your computer and use it in GitHub Desktop.
import {MigrationInterface, QueryRunner} from "typeorm";
export class GlobalStopwords1567444727548 implements MigrationInterface {
public english: string[] = ["able", "about", "above", "according", "accordingly", "across", "actually",
"after", "afterwards", "again", "against", "all",
"allow", "allows", "almost", "alone", "along", "already", "also", "although",
"always", "am", "among", "amongst", "an", "and", "another",
"any", "anybody", "anyhow", "anyone", "anything", "anyway", "anyways",
"anywhere", "apart", "appear", "appreciate", "appropriate", "are",
"around", "as", "aside", "ask", "asking", "associated", "at", "available",
"away", "awfully", "b", "be", "became", "because", "become",
"becomes", "becoming", "been", "before", "beforehand", "behind", "being",
"believe", "below", "beside", "besides", "best", "better",
"between", "beyond", "both", "brief", "but", "by", "c", "came", "can",
"cannot", "cant", "cause", "causes", "certain", "certainly",
"changes", "clearly", "co", "com", "come", "comes", "concerning",
"consequently", "consider", "considering", "contain", "containing",
"contains", "corresponding", "could", "course", "currently", "d", "definitely",
"described", "despite", "did", "different", "do", "does",
"doing", "done", "down", "downwards", "during", "e", "each", "edu", "eg",
"eight", "either", "else", "elsewhere", "enough", "entirely",
"especially", "et", "etc", "even", "ever", "every", "everybody", "everyone",
"everything", "everywhere", "ex", "exactly", "example", "except",
"f", "far", "few", "fifth", "first", "five", "followed", "following",
"follows", "for", "former", "formerly", "forth", "four", "from",
"further", "furthermore", "g", "get", "gets", "getting", "given", "gives",
"go", "goes", "going", "gone", "got", "gotten", "greetings",
"h", "had", "happens", "hardly", "has", "have", "having", "he", "hello",
"help", "hence", "her", "here", "hereafter", "hereby", "herein",
"hereupon", "hers", "herself", "hi", "him", "himself", "his", "hither",
"hopefully", "how", "howbeit", "however", "i", "ie", "if", "ignored",
"immediate", "in", "inasmuch", "inc", "indeed", "indicate", "indicated",
"indicates", "inner", "insofar", "instead", "into", "inward", "is",
"it", "its", "ive", "im", "ill", "itself", "j", "just", "k", "keep", "keeps",
"kept", "know", "knows", "known", "l", "last", "lately", "later",
"latter", "latterly", "least", "less", "lest", "let", "like", "liked",
"likely", "little", "look", "looking", "looks", "ltd", "m", "mainly",
"many", "may", "maybe", "me", "mean", "meanwhile", "merely", "might", "more",
"moreover", "most", "mostly", "much", "must", "my", "myself",
"n", "name", "namely", "nd", "near", "nearly", "necessary", "need", "needs",
"neither", "never", "nevertheless", "new", "next", "nine", "no",
"nobody", "non", "none", "noone", "nor", "normally", "not", "nothing", "novel",
"now", "nowhere", "o", "obviously", "of", "off", "often", "oh",
"ok", "okay", "old", "on", "once", "one", "ones", "only", "onto", "or",
"other", "others", "otherwise", "ought", "our", "ours", "ourselves",
"out", "outside", "over", "overall", "own", "p", "particular", "particularly",
"per", "perhaps", "placed", "please", "plus", "possible",
"presumably", "probably", "provides", "q", "que", "quite", "qv", "r", "rather",
"rd", "re", "really", "reasonably", "regarding", "regardless",
"regards", "relatively", "respectively", "right", "s", "said", "same", "saw",
"say", "saying", "says", "second", "secondly", "see", "seeing",
"seem", "seemed", "seeming", "seems", "seen", "self", "selves", "sensible",
"sent", "serious", "seriously", "seven", "several", "shall",
"she", "should", "since", "six", "so", "some", "somebody", "somehow",
"someone", "something", "sometime", "sometimes", "somewhat", "somewhere",
"soon", "sorry", "specified", "specify", "specifying", "still", "sub", "such",
"sup", "sure", "t", "take", "taken", "tell", "tends", "th",
"than", "thank", "thanks", "thanx", "that", "thats", "the", "their", "theirs",
"them", "themselves", "then", "thence", "there", "thereafter",
"thereby", "therefore", "therein", "theres", "thereupon", "these", "they",
"think", "third", "this", "thorough", "thoroughly", "those", "though",
"three", "through", "throughout", "thru", "thus", "to", "together", "too",
"took", "toward", "towards", "tried", "tries", "truly", "try",
"trying", "twice", "two", "u", "un", "under", "unfortunately", "unless",
"unlikely", "until", "unto", "up", "upon", "us", "use", "used",
"useful", "uses", "using", "usually", "uucp", "v", "value", "various", "very",
"via", "viz", "vs", "w", "want", "wants", "was", "way", "we",
"welcome", "well", "went", "were", "what", "whatever", "when", "whence",
"whenever", "where", "whereafter", "whereas", "whereby", "wherein",
"whereupon", "wherever", "whether", "which", "while", "whither", "who",
"whoever", "whole", "whom", "whose", "why", "will", "willing", "wish",
"with", "within", "without", "wonder", "would", "x", "y", "yes", "yet", "you",
"your", "yours", "yourself", "yourselves", "z", "zero", "a",
"abst", "accordance", "act", "added", "adj", "affected", "affecting",
"affects", "ah", "announce", "anymore", "apparently", "approximately", "aren",
"arent", "arise", "auth", "back", "begin", "beginning", "beginnings", "begins",
"biol", "briefly", "ca", "can't", "couldnt", "date", "didn't", "doesn't",
"don't", "due", "ed", "effect", "eighty", "end", "ending", "et-al", "ff",
"fix", "found", "gave", "give", "giving", "hasn't", "haven't", "hed", "heres",
"hes", "hid", "home", "hundred", "id", "i'll", "immediately", "importance",
"important", "index", "information", "invention", "isn't", "itd", "it'll",
"i've", "kg", "km", "largely", "lets", "line", "'ll", "made", "make", "makes",
"means", "meantime", "mg", "million", "miss", "ml", "mr", "mrs", "mug", "na",
"nay", "necessarily", "ninety", "nonetheless", "nos", "noted", "obtain",
"obtained", "omitted", "ord", "owing", "page", "pages", "part", "past",
"poorly", "possibly", "potentially", "pp", "predominantly", "present",
"previously", "primarily", "promptly", "proud", "put", "quickly", "ran",
"readily", "recent", "recently", "ref", "refs", "related", "research",
"resulted", "resulting", "results", "run", "sec", "section", "shed", "she'll",
"shes", "shouldn't", "show", "showed", "shown", "showns", "shows",
"significant", "significantly", "similar", "similarly", "slightly", "somethan",
"specifically", "stop", "strongly", "substantially", "successfully",
"sufficiently", "suggest", "taking", "that'll", "that've", "thered",
"there'll", "thereof", "therere", "thereto", "there've", "theyd", "they'll",
"theyre", "they've", "thou", "thoughh", "thousand", "throug", "til", "tip",
"ts", "unlike", "ups", "usefully", "usefulness", "'ve", "vol", "vols", "wasnt",
"wed", "we'll", "werent", "we've", "what'll", "whats", "wheres", "whim",
"whod", "who'll", "whomever", "whos", "widely", "wont", "words", "world",
"wouldnt", "www", "youd", "you'll", "youre", "you've", "it's", "that's", "i'm",
"i'd"];
public async up(queryRunner: QueryRunner): Promise<any> {
console.log("Migrating data GlobalStopwords1567444727548: Change schema for stopwords tables");
await queryRunner.query(`ALTER TABLE "public"."d_t_o_stop_words" ADD "updatedAt" TIMESTAMP NOT NULL DEFAULT now()`);
await queryRunner.query(`ALTER TABLE "public"."d_t_o_stop_words" ADD "changeWords" jsonb DEFAULT '{}'`);
await queryRunner.query(`ALTER TABLE "public"."d_t_o_stop_words" alter column source drop not null`);
console.log("Migrating data GlobalStopwords1567444727548: Change schema for global stopwords tables");
await queryRunner.query(`CREATE TABLE "d_t_o_stop_words_global" ("id" SERIAL NOT NULL, "createdAt" TIMESTAMP NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP NOT NULL DEFAULT now(), "uid" text NOT NULL, "createdBy" text NOT NULL, "source" text, "name" text NOT NULL, "words" jsonb NOT NULL, PRIMARY KEY("id"))`);
await queryRunner.query(`ALTER TABLE "public"."d_t_o_stop_words_global" ADD "changeWords" jsonb DEFAULT '{}'`);
await queryRunner.query(`ALTER TABLE "public"."d_t_o_stop_words_global" ADD "systemOwned" boolean DEFAULT false`);
await queryRunner.query(`ALTER TABLE "public"."d_t_o_stop_words_global" ADD "isDefault" boolean DEFAULT false`);
await queryRunner.query(`UPDATE d_t_o_stop_words SET "changeWords" = '{}' WHERE "changeWords" IS NULL`);
console.log("Migrating data GlobalStopwords1567444727548: For each lens create an english stopword files...");
const insertGlobalQuery: string = `
INSERT INTO d_t_o_stop_words_global (name, "systemOwned", source, "createdBy", uid, "isDefault", words, "changeWords")
VALUES ('English', true, '', 'admin@pienso.com', '0', true, '${JSON.stringify(this.english)}', '{}');
`;
await queryRunner.query(`
ALTER TABLE "public"."d_t_o_stop_words" ADD "lensID" int`
);
await queryRunner.query(`
INSERT INTO d_t_o_stop_words (name, source, "createdBy", uid, words, "changeWords", "lensID")
SELECT 'English', '', l.createdBy, l.uid, '${JSON.stringify(this.english)}', '{}', l.id
FROM d_t_o_lens AS l
`);
await queryRunner.query(`
INSERT INTO d_t_o_lens_stop_word_lists_d_t_o_stop_words ("dTOLensId", "dTOStopWordsId")
SELECT swl."lensID", swl."id" FROM d_t_o_stop_words as swl
WHERE swl."lensID" IS NOT NULL`);
await queryRunner.query(`ALTER TABLE "public"."d_t_o_stop_words" DROP "lensID"`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment