Anda tidak boleh menyimpan informasi apa pun seperti tahun sebagai nama tabel sejak datanya. Anda harus menyimpannya sebagai entri tabel terpisah, sebagai data aktual yang dapat digunakan.
Ubah company_historical_<year>
hanya company_historical
dan buat tabel baru bernama company_historical_years
yang hanya memiliki semua tahun yang mungkin Sejarah Perusahaan entri dapat memiliki.
Kemudian buat hubungan antara Historis Perusahaan entri dan Tahun Historis Perusahaan yang terkait masuk.
Jadi sesuatu seperti:
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);
}
}
};
dan kemudian Anda dapat menanyakannya dengan:
CompanyHistoricalYears.findOne({
where: {
year: 2011, // or you can use "new Date().getFullYear()"
},
include: [CompanyHistorical]
});
ini akan memberi Anda satu CompanyHistoricalYears
entri dan semua CompanyHistorical
entri yang ada dalam tahun tersebut.
Jika ini tidak masuk akal, silakan berkomentar dengan pertanyaan apa pun.