Configure TypeORM for migrations. Add new package.json scripts.

This commit is contained in:
Alex Browne
2018-11-12 16:40:20 -08:00
committed by Fred Carlsen
parent 45da317e15
commit e69cdfb7b5
6 changed files with 21 additions and 30 deletions

View File

@@ -13,7 +13,10 @@
"test:coverage": "nyc npm run test --all && yarn coverage:report:lcov",
"coverage:report:lcov": "nyc report --reporter=text-lcov > coverage/lcov.info",
"clean": "shx rm -rf lib",
"lint": "tslint --project ."
"lint": "tslint --project .",
"migrate:run": "yarn typeorm migration:run --config ./lib/src/ormconfig",
"migrate:revert": "yarn typeorm migration:revert --config ./lib/src/ormconfig",
"migrate:create": "yarn typeorm migration:create --config ./lib/src/ormconfig --dir migrations"
},
"config": {
"postpublish": {

View File

@@ -20,28 +20,13 @@ const entities = [
Transaction,
];
export const testConfig: ConnectionOptions = {
type: 'sqlite',
database: 'database.sqlite',
synchronize: true,
logging: false,
entities,
migrations: ['./lib/src/migrations/**/*.js'],
cli: {
entitiesDir: 'lib/src/entities',
migrationsDir: 'lib/src/migrations',
},
};
export const deployConfig: ConnectionOptions = {
const config: ConnectionOptions = {
type: 'postgres',
url: process.env.ZEROEX_DATA_PIPELINE_DB_URL,
synchronize: true,
synchronize: false,
logging: false,
entities,
migrations: ['./lib/src/migrations/**/*.js'],
cli: {
entitiesDir: 'lib/src/entities',
migrationsDir: 'lib/src/migrations',
},
migrations: ['./lib/migrations/**/*.js'],
};
module.exports = config as ConnectionOptions;

View File

@@ -2,11 +2,11 @@ import { web3Factory } from '@0x/dev-utils';
import { Web3ProviderEngine } from '@0x/subproviders';
import R = require('ramda');
import 'reflect-metadata';
import { Connection, createConnection, Repository } from 'typeorm';
import { Connection, ConnectionOptions, createConnection, Repository } from 'typeorm';
import { ExchangeEventsSource } from '../data_sources/contract-wrappers/exchange_events';
import { ExchangeFillEvent } from '../entities';
import { deployConfig } from '../ormconfig';
import * as ormConfig from '../ormconfig';
import { parseExchangeEvents } from '../parsers/events';
import { handleError } from '../utils';
@@ -17,7 +17,7 @@ const BATCH_SAVE_SIZE = 1000; // Number of events to save at once.
let connection: Connection;
(async () => {
connection = await createConnection(deployConfig);
connection = await createConnection(ormConfig as ConnectionOptions);
const provider = web3Factory.getRpcProvider({
rpcUrl: 'https://mainnet.infura.io',
});

View File

@@ -1,9 +1,9 @@
import 'reflect-metadata';
import { Connection, createConnection } from 'typeorm';
import { Connection, ConnectionOptions, createConnection } from 'typeorm';
import { RelayerRegistrySource } from '../data_sources/relayer-registry';
import { Relayer } from '../entities';
import { deployConfig } from '../ormconfig';
import * as ormConfig from '../ormconfig';
import { parseRelayers } from '../parsers/relayer_registry';
import { handleError } from '../utils';
@@ -15,7 +15,7 @@ const RELAYER_REGISTRY_URL =
let connection: Connection;
(async () => {
connection = await createConnection(deployConfig);
connection = await createConnection(ormConfig as ConnectionOptions);
await getRelayers();
process.exit(0);
})().catch(handleError);

View File

@@ -6,5 +6,5 @@
"emitDecoratorMetadata": true,
"experimentalDecorators": true
},
"include": ["./src/**/*", "./test/**/*"]
"include": ["./src/**/*", "./test/**/*", "./migrations/**/*"]
}

View File

@@ -1,7 +1,10 @@
{
"extends": "../../typedoc-tsconfig",
"compilerOptions": {
"outDir": "lib"
"outDir": "lib",
"rootDir": ".",
"emitDecoratorMetadata": true,
"experimentalDecorators": true
},
"include": ["src/**/*", "test/**/*"]
"include": ["./src/**/*", "./test/**/*", "./migrations/**/*"]
}