Nikdy byste neměli ukládat žádné informace, jako jsou roky, jako názvy tabulek od jejich dat. Měli byste je uložit jako samostatné položky tabulky, jako skutečně použitelná data.
Změňte company_historical_<year>
pouze company_historical
a vytvořte novou tabulku s názvem company_historical_years
která má právě všechny možné roky Firemní historické položky mohou mít.
Poté vytvořte vztah mezi historií společnosti záznam a související Historická léta společnosti vstup.
Takže něco jako:
var CompanyHistoricalYears = sequelize.define('company_historical_years', {
year: {
type: Sequelize.INTEGER
},
classMethods: {
associate: function (models) {
CompanyHistoricalYears.hasMany(models.CompanyHistorical);
}
}
};
var CompanyHistorical = sequelize.define('company_historical', {
...
classMethods: {
associate: function (models) {
CompanyHistorical.belongsTo(models.CompanyHistoricalYears);
}
}
};
a poté jej můžete dotazovat pomocí:
CompanyHistoricalYears.findOne({
where: {
year: 2011, // or you can use "new Date().getFullYear()"
},
include: [CompanyHistorical]
});
tím získáte jeden CompanyHistoricalYears
záznam a všechny CompanyHistorical
záznamy, které jsou v daném roce.
Pokud nic z toho nedává smysl, neváhejte se vyjádřit s jakýmikoli dotazy.