Published by vasily-novosad almost 4 years ago
Published by vasily-novosad almost 4 years ago
Prepare package for npm
Published by vasily-novosad almost 4 years ago
Теперь ядро экспортирует все типы Knex, а так же сам knex, поэтому теперь пропадает необходимость устанавливать Knex в качестве dev-зависимости только ради миграций и сидов.
cli
интерфейс. Добавлены команды для работы с микграциями.Knex
является типом (нейспейсом), а knex
- непосредственно сам модуль knex:Пример: фрагмент файла миграций
import { Knex } from '@via-profit-services/core';
export async function down(knex: Knex): Promise<unknown> {
return knex.raw(`
DROP TABLE IF EXISTS "myTable" CASCADE;
`);
}
Необходимые изменения в файлах package.json
В блоке "scripts"
необходимо заменить все скрипты, которые имеют отношение к Knex на следующие:
Замечание: Добавился новый скрипт via-profit-core:knex
для того чтобы каждый раз не указывать расположение knexfile.
{
...
"scripts": {
"via-profit-core:knex": "yarn via-profit-core knex --knexfile src/utils/knexfile.ts",
"knex:migrate:list": "yarn via-profit-core:knex migrate list",
"knex:migrate:make": "yarn via-profit-core:knex migrate make --name",
"knex:migrate:up": "yarn via-profit-core:knex migrate up",
"knex:migrate:down": "yarn via-profit-core:knex migrate down",
"knex:migrate:latest": "yarn via-profit-core:knex migrate latest",
"knex:migrate:rollback": "yarn via-profit-core:knex migrate rollback",
"knex:migrate:rollback:all": "yarn via-profit-core:knex migrate rollback-all",
"knex:seed:make": "yarn via-profit-core:knex seed make --name",
"knex:seed:run": "yarn via-profit-core:knex seed run --name"
}
...
}
Изменения в файлах миграций и сидов
Необходимо заменить импорты Knex с:
import * as Knex from 'knex';
на
import { Knex } from '@via-profit-services/core';
Published by vasily-novosad almost 4 years ago
console.log
в случае, если при запуске сервера не удается соединиться с сервером базы банныхPublished by vasily-novosad almost 4 years ago
via-profit-core knex seed run-all
)Published by vasily-novosad almost 4 years ago
14.0.0
Knex.PoolConfig
в настройки подключения к базе данныхPublished by vasily-novosad almost 4 years ago
import { Winston } from '@via-profit-services/core';
const { format, transports, createLogger } = Winston;
createLogger({
level: 'debug',
format: format.combine(
format.metadata(),
format.json(),
)
})
import { IObjectTypeResolver, IFieldResolver, IContext } from '@via-profit-services/core';
const ResolverObject: IObjectTypeResolver<any, Context> = {
getTimezone: (parent, args, context) => context.timezone,
};
Published by vasily-novosad almost 4 years ago
.graphql
Published by vasily-novosad almost 4 years ago