Str*_*rae 2 php database postgresql
提到这个问题,我决定每年复制表格,用年份数据创建表格,例如:
orders_2008
orders_2009
orders_2010
etc...
Run Code Online (Sandbox Code Playgroud)
好吧,我知道速度问题可能只用每个元素的2个表来解决,比如orders_history和order_actual,但我认为一旦编写了处理程序代码,就没有区别......只有很多表.
那些桌子甚至会有一些带外键的孩子; 例如,orders_2008将具有子items_2008:
CREATE TABLE orders_2008 (
id serial NOT NULL,
code character(5),
customer text
);
ALTER TABLE ONLY orders_2008
ADD CONSTRAINT orders_2008_pkey PRIMARY KEY (id);
CREATE TABLE items_2008 (
id serial NOT NULL,
order_id integer,
item_name text,
price money
);
ALTER TABLE ONLY items_2008
ADD CONSTRAINT items_2008_pkey PRIMARY KEY (id);
ALTER TABLE ONLY items_2008
ADD CONSTRAINT "$1" FOREIGN KEY (order_id) REFERENCES orders_2008(id) ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是:您认为每个1月1日复制这些表的最佳方式是什么,当然,保持表依赖性?
一个PHP/Python脚本,在查询后查询,重建新年的结构(由cron作业调用)?PostgreSQL的功能可以这样使用吗?如果是的话,如何(一个小例子会很好)
其实我是第一种方式(包含结构的.sql文件,以及由cronjob加载的php/python脚本重建结构),但我想知道这是否是最好的方法.
编辑:我已经看到了pgsql函数CREATE TABLE LIKE,但是必须在第二次添加foreigns键...或者它将保持新表的旧参考.
| 归档时间: |
|
| 查看次数: |
3565 次 |
| 最近记录: |