keep old tsconfig and ormconfig files #154

instead of generated ones
This commit is contained in:
kononnable 2020-12-30 21:42:59 +01:00
parent 237d31581f
commit 6a2ac2f063
2 changed files with 23 additions and 10 deletions

View File

@ -27,8 +27,11 @@ export default function modelGenerationPhase(
}
let entitiesPath = resultPath;
if (!generationOptions.noConfigs) {
createTsConfigFile(resultPath);
createTypeOrmConfig(resultPath, connectionOptions);
const tsconfigPath = path.resolve(resultPath, "tsconfig.json");
const typeormConfigPath = path.resolve(resultPath, "ormconfig.json");
createTsConfigFile(tsconfigPath);
createTypeOrmConfig(typeormConfigPath, connectionOptions);
entitiesPath = path.resolve(resultPath, "./entities");
if (!fs.existsSync(entitiesPath)) {
fs.mkdirSync(entitiesPath);
@ -258,7 +261,13 @@ function createHandlebarsHelpers(generationOptions: IGenerationOptions): void {
});
}
function createTsConfigFile(outputPath: string): void {
function createTsConfigFile(tsconfigPath: string): void {
if (fs.existsSync(tsconfigPath)) {
console.warn(
`\x1b[33m[${new Date().toLocaleTimeString()}] WARNING: Skipping generation of tsconfig.json file. File already exists. \x1b[0m`
);
return;
}
const templatePath = path.resolve(__dirname, "templates", "tsconfig.mst");
const template = fs.readFileSync(templatePath, "utf-8");
const compliedTemplate = Handlebars.compile(template, {
@ -266,16 +275,21 @@ function createTsConfigFile(outputPath: string): void {
});
const rendered = compliedTemplate({});
const formatted = Prettier.format(rendered, { parser: "json" });
const resultFilePath = path.resolve(outputPath, "tsconfig.json");
fs.writeFileSync(resultFilePath, formatted, {
fs.writeFileSync(tsconfigPath, formatted, {
encoding: "utf-8",
flag: "w",
});
}
function createTypeOrmConfig(
outputPath: string,
typeormConfigPath: string,
connectionOptions: IConnectionOptions
): void {
if (fs.existsSync(typeormConfigPath)) {
console.warn(
`\x1b[33m[${new Date().toLocaleTimeString()}] WARNING: Skipping generation of ormconfig.json file. File already exists. \x1b[0m`
);
return;
}
const templatePath = path.resolve(__dirname, "templates", "ormconfig.mst");
const template = fs.readFileSync(templatePath, "utf-8");
const compiledTemplate = Handlebars.compile(template, {
@ -283,8 +297,7 @@ function createTypeOrmConfig(
});
const rendered = compiledTemplate(connectionOptions);
const formatted = Prettier.format(rendered, { parser: "json" });
const resultFilePath = path.resolve(outputPath, "ormconfig.json");
fs.writeFileSync(resultFilePath, formatted, {
fs.writeFileSync(typeormConfigPath, formatted, {
encoding: "utf-8",
flag: "w",
});

View File

@ -101,8 +101,8 @@ export default class MssqlDriver extends AbstractDriver {
LEFT JOIN (SELECT tc.TABLE_SCHEMA,tc.TABLE_NAME,cu.COLUMN_NAME,COUNT(1) AS cnt FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc inner join INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE cu on cu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME where tc.CONSTRAINT_TYPE = 'UNIQUE' GROUP BY tc.TABLE_SCHEMA,tc.TABLE_NAME,cu.COLUMN_NAME) AS tc
on tc.TABLE_NAME = c.TABLE_NAME and tc.COLUMN_NAME = c.COLUMN_NAME and tc.TABLE_SCHEMA=c.TABLE_SCHEMA
where c.TABLE_SCHEMA in (${MssqlDriver.buildEscapedObjectList(
schemas
)}) AND c.TABLE_CATALOG in (${MssqlDriver.buildEscapedObjectList(
schemas
)}) AND c.TABLE_CATALOG in (${MssqlDriver.buildEscapedObjectList(
dbNames
)}) order by ordinal_position
`)