【发布时间】:2023-03-27 00:31:01
【问题描述】:
I've exported my MySQL database to a .txt/.sql file (link) 并想用它在其他计算机上重建数据库。虽然在 HeidiSQL 中运行脚本工作得非常好,但我想在启动我的应用程序之前确保所有表都存在并且正确。
我可以将构建的代码复制粘贴到我的 Python 代码中,但导出是我的数据库的直接表示,不应该包含任何错误,而复制粘贴...所以我尝试解析文件,但我的解析技巧还有很多不足之处。
这是代码的sn-p:
CREATE TABLE IF NOT EXISTS `data` (
`dataid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`measurementid` int(10) unsigned NOT NULL DEFAULT '0',
`frame` int(10) unsigned NOT NULL,
`sensor_row` int(10) unsigned NOT NULL,
`sensor_col` int(10) unsigned NOT NULL,
`value` float unsigned NOT NULL,
PRIMARY KEY (`dataid`),
UNIQUE KEY `measurementid_frame_sensor_row_sensor_col` (`measurementid`,`frame`,`sensor_row`,`sensor_col`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
所以假设数据库data 已经创建,我正在寻找一种方法来解析构建的代码并创建所有必需的表(如果它们不存在或更改) 如果他们改变了。
关于如何解决这个问题的任何建议?
【问题讨论】:
-
将 SQL 导出语句粘贴到 phpmyadmin。 (除非这是您尝试编写脚本并重复多次的工作)。
-
@Ian,我仍在大量更改和调整我的应用程序和数据库,但由于不是每个测试我的应用程序的人都具备足够的技术能力,我想确保它正确完成。
-
在这种情况下,您必须自己应用更改。在工作时将所做的更改记录在文本文件中,并在应用代码版本时应用它们。我强烈建议使用诸如 GIT 之类的 VCS 来保持版本正常。