mirror of
https://github.com/xuthus83/pigallery2.git
synced 2025-01-14 14:43:17 +08:00
updating typeorm, creating manual scheme update script
This commit is contained in:
parent
5a1c7030df
commit
83698541be
@ -9,13 +9,14 @@ import {SharingEntity} from "./enitites/SharingEntity";
|
|||||||
import {DataBaseConfig, DatabaseType} from "../../../common/config/private/IPrivateConfig";
|
import {DataBaseConfig, DatabaseType} from "../../../common/config/private/IPrivateConfig";
|
||||||
import {PasswordHelper} from "../PasswordHelper";
|
import {PasswordHelper} from "../PasswordHelper";
|
||||||
import {ProjectPath} from "../../ProjectPath";
|
import {ProjectPath} from "../../ProjectPath";
|
||||||
|
import {VersionEntity} from "./enitites/VersionEntity";
|
||||||
|
|
||||||
|
|
||||||
export class SQLConnection {
|
export class SQLConnection {
|
||||||
|
|
||||||
|
private static VERSION: number = 1;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static connection: Connection = null;
|
private static connection: Connection = null;
|
||||||
@ -30,11 +31,13 @@ export class SQLConnection {
|
|||||||
UserEntity,
|
UserEntity,
|
||||||
PhotoEntity,
|
PhotoEntity,
|
||||||
DirectoryEntity,
|
DirectoryEntity,
|
||||||
SharingEntity
|
SharingEntity,
|
||||||
|
VersionEntity
|
||||||
];
|
];
|
||||||
options.synchronize = true;
|
options.synchronize = false;
|
||||||
// options.logging = "all";
|
// options.logging = "all";
|
||||||
this.connection = await createConnection(options);
|
this.connection = await createConnection(options);
|
||||||
|
await SQLConnection.sync(this.connection);
|
||||||
}
|
}
|
||||||
return this.connection;
|
return this.connection;
|
||||||
|
|
||||||
@ -51,15 +54,38 @@ export class SQLConnection {
|
|||||||
UserEntity,
|
UserEntity,
|
||||||
PhotoEntity,
|
PhotoEntity,
|
||||||
DirectoryEntity,
|
DirectoryEntity,
|
||||||
SharingEntity
|
SharingEntity,
|
||||||
|
VersionEntity
|
||||||
];
|
];
|
||||||
options.synchronize = true;
|
options.synchronize = false;
|
||||||
// options.logging = "all";
|
// options.logging = "all";
|
||||||
const conn = await createConnection(options);
|
const conn = await createConnection(options);
|
||||||
|
await SQLConnection.sync(conn);
|
||||||
await conn.close();
|
await conn.close();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static async sync(connection: Connection) {
|
||||||
|
let version = null;
|
||||||
|
try {
|
||||||
|
version = await connection.getRepository(VersionEntity).findOne();
|
||||||
|
} catch (ex) {
|
||||||
|
}
|
||||||
|
if (version && version.version == SQLConnection.VERSION) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!version) {
|
||||||
|
version = new VersionEntity();
|
||||||
|
}
|
||||||
|
version.version = SQLConnection.VERSION;
|
||||||
|
|
||||||
|
|
||||||
|
await connection.dropDatabase();
|
||||||
|
await connection.synchronize();
|
||||||
|
await connection.getRepository(VersionEntity).save(version);
|
||||||
|
}
|
||||||
|
|
||||||
public static async init(): Promise<void> {
|
public static async init(): Promise<void> {
|
||||||
const connection = await this.getConnection();
|
const connection = await this.getConnection();
|
||||||
let userRepository = connection.getRepository(UserEntity);
|
let userRepository = connection.getRepository(UserEntity);
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
import {Column, Entity, ManyToOne, PrimaryGeneratedColumn} from "typeorm";
|
import {Column, Entity, ManyToOne, PrimaryGeneratedColumn} from "typeorm";
|
||||||
import {
|
import {
|
||||||
CameraMetadata, GPSMetadata, ImageSize, PhotoDTO, PhotoMetadata,
|
CameraMetadata,
|
||||||
|
GPSMetadata,
|
||||||
|
ImageSize,
|
||||||
|
PhotoDTO,
|
||||||
|
PhotoMetadata,
|
||||||
PositionMetaData
|
PositionMetaData
|
||||||
} from "../../../../common/entities/PhotoDTO";
|
} from "../../../../common/entities/PhotoDTO";
|
||||||
import {DirectoryEntity} from "./DirectoryEntity";
|
import {DirectoryEntity} from "./DirectoryEntity";
|
||||||
|
12
backend/model/sql/enitites/VersionEntity.ts
Normal file
12
backend/model/sql/enitites/VersionEntity.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import {Column, Entity, PrimaryGeneratedColumn} from "typeorm";
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
export class VersionEntity {
|
||||||
|
|
||||||
|
@PrimaryGeneratedColumn()
|
||||||
|
id: number;
|
||||||
|
|
||||||
|
@Column()
|
||||||
|
version: number;
|
||||||
|
|
||||||
|
}
|
16
gulpfile.js
16
gulpfile.js
@ -35,11 +35,11 @@ gulp.task('build-frontend', function (done) {
|
|||||||
return f.split(".")[1]
|
return f.split(".")[1]
|
||||||
});
|
});
|
||||||
var tasks = [];
|
var tasks = [];
|
||||||
createFornendTask('build-frontend default', "ng build --aot -prod --output-path=./release/dist --no-progress");
|
createFornendTask('build-frontend-release default', "ng build --aot -prod --output-path=./release/dist --no-progress");
|
||||||
tasks.push('build-frontend default');
|
tasks.push('build-frontend-release default');
|
||||||
for (var i = 0; i < files.length; i++) {
|
for (var i = 0; i < files.length; i++) {
|
||||||
createFornendTask('build-frontend ' + languages[i], "ng build --aot -prod --output-path=./release/dist/" + languages[i] + " --no-progress --locale " + languages[i] + " --i18n-format xlf --i18n-file frontend/locale/" + files[i] + " --missing-translation warning");
|
createFornendTask('build-frontend-release ' + languages[i], "ng build --aot -prod --output-path=./release/dist/" + languages[i] + " --no-progress --locale " + languages[i] + " --i18n-format xlf --i18n-file frontend/locale/" + files[i] + " --missing-translation warning");
|
||||||
tasks.push('build-frontend ' + languages[i]);
|
tasks.push('build-frontend-release ' + languages[i]);
|
||||||
}
|
}
|
||||||
tasks.push(function () {
|
tasks.push(function () {
|
||||||
done();
|
done();
|
||||||
@ -97,11 +97,11 @@ var simpleBuild = function (isProd) {
|
|||||||
if (isProd) {
|
if (isProd) {
|
||||||
cmd += " -prod "
|
cmd += " -prod "
|
||||||
}
|
}
|
||||||
createFornendTask('build-frontend-dev default', cmd + "--output-path=./dist --no-progress");
|
createFornendTask('build-frontend default', cmd + "--output-path=./dist --no-progress");
|
||||||
tasks.push('build-frontend-dev default');
|
tasks.push('build-frontend default');
|
||||||
for (var i = 0; i < files.length; i++) {
|
for (var i = 0; i < files.length; i++) {
|
||||||
createFornendTask('build-frontend-dev ' + languages[i], cmd + "--output-path=./dist/" + languages[i] + " --no-progress --locale " + languages[i] + " --i18n-format xlf --i18n-file frontend/locale/" + files[i] + " --missing-translation warning");
|
createFornendTask('build-frontend ' + languages[i], cmd + "--output-path=./dist/" + languages[i] + " --no-progress --locale " + languages[i] + " --i18n-format xlf --i18n-file frontend/locale/" + files[i] + " --missing-translation warning");
|
||||||
tasks.push('build-frontend-dev ' + languages[i]);
|
tasks.push('build-frontend ' + languages[i]);
|
||||||
}
|
}
|
||||||
tasks.push(function () {
|
tasks.push(function () {
|
||||||
done();
|
done();
|
||||||
|
38
package.json
38
package.json
@ -35,30 +35,30 @@
|
|||||||
"jimp": "0.2.28",
|
"jimp": "0.2.28",
|
||||||
"locale": "0.1.0",
|
"locale": "0.1.0",
|
||||||
"mysql": "2.15.0",
|
"mysql": "2.15.0",
|
||||||
"reflect-metadata": "0.1.10",
|
"reflect-metadata": "0.1.12",
|
||||||
"sqlite3": "3.1.13",
|
"sqlite3": "3.1.13",
|
||||||
"ts-exif-parser": "0.1.23",
|
"ts-exif-parser": "0.1.23",
|
||||||
"ts-node-iptc": "1.0.9",
|
"ts-node-iptc": "1.0.9",
|
||||||
"typeconfig": "1.0.6",
|
"typeconfig": "1.0.6",
|
||||||
"typeorm": "0.1.8",
|
"typeorm": "0.1.11",
|
||||||
"winston": "2.4.0"
|
"winston": "2.4.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@agm/core": "^1.0.0-beta.2",
|
"@agm/core": "^1.0.0-beta.2",
|
||||||
"@angular/animations": "^5.2.0",
|
"@angular/animations": "^5.2.1",
|
||||||
"@angular/cli": "1.6.4",
|
"@angular/cli": "1.6.5",
|
||||||
"@angular/common": "~5.2.0",
|
"@angular/common": "~5.2.1",
|
||||||
"@angular/compiler": "~5.2.0",
|
"@angular/compiler": "~5.2.1",
|
||||||
"@angular/compiler-cli": "^5.2.0",
|
"@angular/compiler-cli": "^5.2.1",
|
||||||
"@angular/core": "~5.2.0",
|
"@angular/core": "~5.2.1",
|
||||||
"@angular/forms": "~5.2.0",
|
"@angular/forms": "~5.2.1",
|
||||||
"@angular/http": "~5.2.0",
|
"@angular/http": "~5.2.1",
|
||||||
"@angular/language-service": "^5.2.0",
|
"@angular/language-service": "^5.2.1",
|
||||||
"@angular/platform-browser": "~5.2.0",
|
"@angular/platform-browser": "~5.2.1",
|
||||||
"@angular/platform-browser-dynamic": "~5.2.0",
|
"@angular/platform-browser-dynamic": "~5.2.1",
|
||||||
"@angular/router": "~5.2.0",
|
"@angular/router": "~5.2.1",
|
||||||
"@types/bcryptjs": "^2.4.1",
|
"@types/bcryptjs": "^2.4.1",
|
||||||
"@types/chai": "^4.1.0",
|
"@types/chai": "^4.1.1",
|
||||||
"@types/cookie-session": "^2.0.34",
|
"@types/cookie-session": "^2.0.34",
|
||||||
"@types/express": "^4.11.0",
|
"@types/express": "^4.11.0",
|
||||||
"@types/gm": "^1.17.33",
|
"@types/gm": "^1.17.33",
|
||||||
@ -69,7 +69,7 @@
|
|||||||
"@types/winston": "^2.3.7",
|
"@types/winston": "^2.3.7",
|
||||||
"bootstrap": "^3.3.7",
|
"bootstrap": "^3.3.7",
|
||||||
"chai": "^4.1.2",
|
"chai": "^4.1.2",
|
||||||
"codelyzer": "~4.0.2",
|
"codelyzer": "~4.1.0",
|
||||||
"core-js": "^2.5.3",
|
"core-js": "^2.5.3",
|
||||||
"ejs-loader": "^0.3.0",
|
"ejs-loader": "^0.3.0",
|
||||||
"gulp": "^3.9.1",
|
"gulp": "^3.9.1",
|
||||||
@ -78,7 +78,7 @@
|
|||||||
"gulp-zip": "^4.1.0",
|
"gulp-zip": "^4.1.0",
|
||||||
"hammerjs": "^2.0.8",
|
"hammerjs": "^2.0.8",
|
||||||
"intl": "^1.2.5",
|
"intl": "^1.2.5",
|
||||||
"jasmine-core": "^2.8.0",
|
"jasmine-core": "^2.9.1",
|
||||||
"jasmine-spec-reporter": "~4.2.1",
|
"jasmine-spec-reporter": "~4.2.1",
|
||||||
"jw-bootstrap-switch-ng2": "1.0.10",
|
"jw-bootstrap-switch-ng2": "1.0.10",
|
||||||
"karma": "^2.0.0",
|
"karma": "^2.0.0",
|
||||||
@ -90,11 +90,11 @@
|
|||||||
"karma-remap-istanbul": "^0.6.0",
|
"karma-remap-istanbul": "^0.6.0",
|
||||||
"karma-systemjs": "^0.16.0",
|
"karma-systemjs": "^0.16.0",
|
||||||
"merge2": "^1.2.1",
|
"merge2": "^1.2.1",
|
||||||
"mocha": "^4.1.0",
|
"mocha": "^5.0.0",
|
||||||
"ng2-cookies": "^1.0.12",
|
"ng2-cookies": "^1.0.12",
|
||||||
"ng2-slim-loading-bar": "^4.0.0",
|
"ng2-slim-loading-bar": "^4.0.0",
|
||||||
"ng2-toastr": "^4.1.2",
|
"ng2-toastr": "^4.1.2",
|
||||||
"ngx-bootstrap": "^2.0.0-rc.0",
|
"ngx-bootstrap": "^2.0.0",
|
||||||
"ngx-clipboard": "^9.1.2",
|
"ngx-clipboard": "^9.1.2",
|
||||||
"phantomjs-prebuilt": "^2.1.16",
|
"phantomjs-prebuilt": "^2.1.16",
|
||||||
"protractor": "^5.2.2",
|
"protractor": "^5.2.2",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user