Du bør aldrig gemme nogen form for information som årstal som tabelnavne siden deres data. Du bør gemme dem som separate tabelposter, som faktiske brugbare data.
Skift company_historical_<year>
til bare company_historical
og opret en ny tabel kaldet company_historical_years
som bare har alle mulige år Virksomhedshistorisk poster kan have.
Opret derefter et forhold mellem Virksomhedshistorisk post og de relaterede virksomhedshistoriske år indgang.
Så noget i stil med:
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);
}
}
};
og så kan du forespørge det med:
CompanyHistoricalYears.findOne({
where: {
year: 2011, // or you can use "new Date().getFullYear()"
},
include: [CompanyHistorical]
});
dette vil give dig et enkelt CompanyHistoricalYears
indtastning og alle CompanyHistorical
poster, der er inden for det pågældende år.
Hvis intet af dette giver mening, er du velkommen til at kommentere med eventuelle spørgsmål.