0
不工作的代碼只是爲了說明我嘗試使用一些模型TypeOrm - 如何將連接用作具有類型的獨立對象?
@Entity()
@Table("annual_incomes")
export class AnnualIncome
{
@PrimaryGeneratedColumn()
id: number;
@Column({ length: 75 })
variant: string;
@Column("int")
sort: number;
@Column()
is_active: boolean;
}
後某處的代碼我想連接,實現
有些連接文件
import { ConnectionManager } from 'typeorm';
const c = new ConnectionManager();
// user ormconfig.conf file
export const connection = c.createAndConnect();
用所有方法類似的東西
import { connection } from 'someconnection';
import { AnnualIncome } from 'entities';
// some code here
api.get('/incomes', async(ctx) => {
ctx.body = await connection.getRepository(AnnualIncome).find();
});
通常我從tsc
得到一個錯誤.getRepository()
方法未在connection
中找到。但是,如果我做這樣的事情:
import { connection } from 'someconnection';
import { AnnualIncome } from 'entities';
// some code here
api.get('/incomes', async(ctx) => {
ctx.body = await connection.then(async connection => {
return await connection.getRepository(AnnualIncome).find();
}
});
上面的代碼使用的定義和tsc
不抱怨unexisting方法。 我想,以避免額外的定義connection.then()
並獲得純connection
在<Connection>
型
感謝定義的所有方法。
感謝。我想要注意的是,如果只使用getRepository(),我必須設置連接名稱await getRepository(AnnualIncome,'default')' – VaL
實際上,您可以省略連接名稱參數,因爲默認情況下它是'default'。你應該只在你的名字使用特定連接名稱時使用 – pleerock
定義或版本'https:// github.com/typeorm/typeorm/blob/master/src/index.ts#L259'之間可能會發生衝突,因爲你的示例沒有工作在我的版本'0.0.8'在我的NPM包我沒有這一行'https:// github.com/typeorm/typeorm/blob/master/src/index.ts#L269' – VaL