相关疑难解决方法(0)

使用多列主键有哪些优缺点?

我想看一个例子:

  • 如果这是合适的
  • 当这不合适时

是否有时候数据库的选择会对上述例子产生影响?

sql primary-key composite-primary-key

15
推荐指数
3
解决办法
7831
查看次数

如何在Rails应用程序中设置组合键

我在我的应用程序中使用'foriegner'gem来设置主键,现在我处于在表中设置复合主键的情况.

我在网上搜索了这个,但无法为此找到明确的解决方案.

如果可以使用foreigner gem或任何其他方法在rails应用程序中设置复合键,请建议我.

注意:我正在使用Postgres

谢谢.

ruby-on-rails

6
推荐指数
1
解决办法
6030
查看次数

在Sequelize.js种子模型中引用复合主键

是否可以在Sequelize中引用复合主键?

我正在开发一个网络应用程序,可帮助组织厨房垃圾。该餐厅将其数周和数月的时间分为“期间”,9月的第一周为“ 9.1”。对于每个时期,我需要创建一批新的配料对象,以跟踪其在那个时期的价格和数量。我认为最好使句点主键成为月份和星期的组合,因为这在数据库中是唯一的。我可能会在以后加上年份,但这不会改变我的问题。

我正在使用的数据库是Postgres。

这是我的sequelize种子文件中的周期表模型:

.then(() => queryInterface.createTable('periods', {
      month: {
        type: Sequelize.INTEGER,
        validate: {
          max: 12,
          min: 1
        },
        unique: "monthWeekConstraint",
        primaryKey: true
      },
      week: {
        type: Sequelize.INTEGER,
        validate: {
          max: 4,
          min: 1
        },
        unique: "monthWeekConstraint",
        primaryKey: true
      },
      createdAt: {
        type: Sequelize.DATE
      },
      updtedAt: {
        type: Sequelize.DATE
      }
    }))
Run Code Online (Sandbox Code Playgroud)

我想在我的periodItems表中引用存储在上表中的期间,该表(我不正确地)看起来像:

.then(() => queryInterface.createTable('periodItems', {
  periodMonth: {
    type: Sequelize.INTEGER,
    references: {model: 'periods', key: 'monthWeekConstraint'}
  },
  periodWeek: {
    type: Sequelize.INTEGER,
    references: {model: 'periods', key: 'monthWeekConstraint'}
  },
  day: {
    type: …
Run Code Online (Sandbox Code Playgroud)

database postgresql sequelize.js

6
推荐指数
1
解决办法
5588
查看次数