php - 这是好的成员(member)支付数据库模式吗?

标签 php mysql database database-design schema

我正在做一个项目来管理成员(member)资格和其他类型的支付,但主要是成员(member)资格,所以我创建了一个多态模式。任何想法,改进,出于某种原因我不完全相信这个模式。

正如您将看到的,让月份、年份为 NULL-ABLE 的想法允许保存任何其他付款的记录

CREATE TABLE IF NOT EXISTS `orders` (
  `id` int(11) NOT NULL auto_increment,
  `partner_id` int(11) NOT NULL,
  `status` enum('pending','accepted','cancelled','other') NOT NULL,
  `created_on` datetime NOT NULL,
  `concept` varchar(250) NOT NULL,
  `type` enum('membership','other') NOT NULL default 'membership',
  `source` enum('dineromail','casati','deposit','other') NOT NULL default 'dineromail',
  `notes` text NULL,
  `last_check_on` datetime default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  ;


CREATE TABLE IF NOT EXISTS `payments` (
  `id` int(11) NOT NULL auto_increment,
  `order_id` int(11) NOT NULL,
  `month` int(11) default NULL,
  `year` int(11) default NULL,
  `amount` float NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `idx-order_id-month-year` (`order_id`,`month`,`year`)
) ENGINE=MyISAM ;


CREATE TABLE IF NOT EXISTS `partners` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(255) default NULL,
  `last_name` varchar(255) default NULL,

) ENGINE=MyISAM;

最佳答案

我还会在收到付款时包含一个日期时间戳,并可能标记付款是完整的还是不完整的金额。

关于php - 这是好的成员(member)支付数据库模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/843748/

相关文章:

javascript - 在 calc() 函数中使用变量

mysql - 玩 2.3 scala - Slick 与 MYSQL 问题

php - MySQL:键/值存储查询优化

mysql - wp_postmeta 和 wp_woocommerce_order_itemmeta 表之间的区别

php - 在 PHP 中引导所有函数

php - 如何在 WordPress 插件的 SQL 数据库中缓存第三方 API 访问

php - 如何使用 php 获取域名的托管 IP 和国家/地区名称

mysql - 在 MySQL 中并排显示所有重复项

java - JAVA如何连接wordpress数据库? (mysql)

database - 使用h2数据库时看不到内容 "in-memory"