Mysql
 sql >> база данни >  >> RDS >> Mysql

Променете времето за изпълнение на името на таблицата на модела

Никога не трябва да съхранявате каквато и да е информация като години като имена на таблици от нейните данни. Трябва да ги съхранявате като отделни записи в таблица, като действително използваеми данни.

Променете company_historical_<year> само до company_historical и създайте нова таблица, наречена company_historical_years който просто има всички възможни години Фирмена история записите могат да имат.

След това създайте връзка между Исторически данни на компанията запис и свързаните с него Исторически години на компанията запис.

Така че нещо като:

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);
        }
    }
};

и след това можете да го заявите с:

CompanyHistoricalYears.findOne({
    where: {
        year: 2011, // or you can use "new Date().getFullYear()"
    },
    include: [CompanyHistorical]
});

това ще ви даде един CompanyHistoricalYears запис и всички CompanyHistorical записи, които са в рамките на тази година.

Ако нищо от това няма смисъл, не се колебайте да коментирате с всякакви въпроси.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да съхранявам паролата сигурно в MySQL и да се удостоверя за външни услуги

  2. MySQL заявката не изчезва, след като е била убита

  3. SQL:пребройте всички записи с последователно появяване на една и съща стойност за всеки набор от устройства и върнете най-високия брой

  4. Актуализирайте MySQL таблицата с помощта на CSV файл

  5. Използване на заместващи знаци в името на таблицата на mysql