This commit is contained in:
syuilo 2019-06-29 23:12:00 +09:00
parent 6d9660929c
commit 2a7d4b07b6
5 changed files with 55 additions and 58 deletions

View file

@ -588,10 +588,9 @@ mongodb:
3. migration ブランチに切り替え 3. migration ブランチに切り替え
4. `npm i` 4. `npm i`
5. `npm run build` 5. `npm run build`
6. `npm run init` 6. `npm run migrate`
7. `npm run migrate` 7. master ブランチに戻す
8. master ブランチに戻す 8. enjoy
9. enjoy
10.100.0 10.100.0
---------- ----------

View file

@ -219,8 +219,6 @@ const user = await Users.findOne(userId).then(ensure);
``` ```
### Migration作成方法 ### Migration作成方法
コードの変更をした後、`ormconfig.json``npm run ormconfig`で生成)を用意し、
``` ```
npm i -g ts-node npm i -g ts-node
ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前 ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前

View file

@ -1,7 +1,7 @@
import * as fs from 'fs'; const config = require('./built/config').default;
import config from './config'; const entities = require('./built/db/postgre').entities;
const json = { module.exports = {
type: 'postgres', type: 'postgres',
host: config.db.host, host: config.db.host,
port: config.db.port, port: config.db.port,
@ -9,11 +9,9 @@ const json = {
password: config.db.pass, password: config.db.pass,
database: config.db.db, database: config.db.db,
extra: config.db.extra, extra: config.db.extra,
entities: ['src/models/entities/*.ts'], entities: entities,
migrations: ['migration/*.ts'], migrations: ['migration/*.ts'],
cli: { cli: {
migrationsDir: 'migration' migrationsDir: 'migration'
} }
}; };
fs.writeFileSync('ormconfig.json', JSON.stringify(json));

View file

@ -11,9 +11,9 @@
"private": true, "private": true,
"scripts": { "scripts": {
"start": "node ./index.js", "start": "node ./index.js",
"init": "node ./built/init.js", "init": "npm run migrate",
"ormconfig": "node ./built/ormconfig.js", "ormconfig": "node ./built/ormconfig.js",
"migrate": "npm run ormconfig && ts-node ./node_modules/typeorm/cli.js migration:run", "migrate": "ts-node ./node_modules/typeorm/cli.js migration:run",
"migrateandstart": "npm run migrate && npm run start", "migrateandstart": "npm run migrate && npm run start",
"build": "webpack && gulp build", "build": "webpack && gulp build",
"webpack": "webpack", "webpack": "webpack",

View file

@ -80,6 +80,51 @@ class MyCustomLogger implements Logger {
} }
} }
export const entities = [
Meta,
Instance,
App,
AuthSession,
AccessToken,
User,
UserProfile,
UserKeypair,
UserPublickey,
UserList,
UserListJoining,
UserGroup,
UserGroupJoining,
UserGroupInvite,
UserNotePining,
Following,
FollowRequest,
Muting,
Blocking,
Note,
NoteFavorite,
NoteReaction,
NoteWatching,
NoteUnread,
Page,
PageLike,
Log,
DriveFile,
DriveFolder,
Poll,
PollVote,
Notification,
Emoji,
Hashtag,
SwSubscription,
AbuseUserReport,
RegistrationTicket,
MessagingMessage,
Signin,
ReversiGame,
ReversiMatching,
...charts as any
];
export function initDb(justBorrow = false, sync = false, log = false) { export function initDb(justBorrow = false, sync = false, log = false) {
try { try {
const conn = getConnection(); const conn = getConnection();
@ -110,49 +155,6 @@ export function initDb(justBorrow = false, sync = false, log = false) {
} : false, } : false,
logging: log, logging: log,
logger: log ? new MyCustomLogger() : undefined, logger: log ? new MyCustomLogger() : undefined,
entities: [ entities: entities
Meta,
Instance,
App,
AuthSession,
AccessToken,
User,
UserProfile,
UserKeypair,
UserPublickey,
UserList,
UserListJoining,
UserGroup,
UserGroupJoining,
UserGroupInvite,
UserNotePining,
Following,
FollowRequest,
Muting,
Blocking,
Note,
NoteFavorite,
NoteReaction,
NoteWatching,
NoteUnread,
Page,
PageLike,
Log,
DriveFile,
DriveFolder,
Poll,
PollVote,
Notification,
Emoji,
Hashtag,
SwSubscription,
AbuseUserReport,
RegistrationTicket,
MessagingMessage,
Signin,
ReversiGame,
ReversiMatching,
...charts as any
]
}); });
} }