programing

스키마 변경을 추적하는 시스템 버전 테이블 생성

projobs 2023. 1. 14. 10:02
반응형

스키마 변경을 추적하는 시스템 버전 테이블 생성

최근에 이 기능을 실험했는데 잘 작동하지만 스키마 변경 내용도 저장될 것으로 예상했습니다.

다음을 달성할 수 있는 방법이 있습니까?

CREATE table test (id INT NOT NULL, field_1 VARCHAR(10)) ENGINE=InnoDB;

ALTER TABLE test ADD SYSTEM VERSIONING;

INSERT INTO test (id, field_1) VALUES (1, "test");

SELECT NOW(); -> 2022-02-03 22:48:56

ALTER TABLE test DROP COLUMN field_1;

SELECT NOW(); -> 2022-02-03 22:58:56

SELECT * FROM test FOR SYSTEM_TIME AS OF TIMESTAMP '2022-02-03 22:48:56';
+----+---------+
| id | field_3 |
+----+---------+
|  1 | test    |
+----+---------+
SELECT * FROM test FOR SYSTEM_TIME AS OF TIMESTAMP '2022-02-03 22:58:56';
+----+
| id |
+----+
|  1 |
+----+

스토리지 크기에 문제가 있을 수 있다는 것은 알고 있지만 MariaDB/mysql을 사용한 스키마 변경을 포함한 완전한 이력을 얻을 수 있는 방법이 있습니까?그렇지 않은 경우 다른 데이터베이스로 사용할 수 있는 데이터베이스가 있습니까?

SQL 데이터베이스 정의: 데이터베이스 앱을 개발하는 많은 사람들이 오랫동안 꿈꿔왔던 것입니다.

안타깝게도 시스템 버전 표에는 없습니다.아직.

메모리(RAM 및 SSD)의 가격이 점점 낮아지고 있기 때문에 가능한 일입니다.기술이 아닌 가상 시스템 스냅이 해답의 일부일 수 있습니다.

MariaDB에는 상당히 강력한 데이터베이스 서버와 스토리지 엔진 인터페이스가 있습니다.InnoDB를 복제하여 시간 차원의 스토리지 엔진을 만들 수 있습니다.

누군가는 이걸 할 거야너일 수도 있어.

언급URL : https://stackoverflow.com/questions/70979471/create-system-version-table-that-tracks-schema-changes

반응형