gpt4 book ai didi

php - 多数据库模式迁移(php/mysql)

转载 作者:行者123 更新时间:2023-11-29 03:45:33 24 4
gpt4 key购买 nike

我有一个应用程序,其中每个用户都有自己的数据库并共享相同的模式。 (我有另一个线程讨论这个,所以我不需要任何关于这个的信息)

在迁移数据库时,我写了如下脚本:

<?php
$sql = <<<SQL
ALTER TABLE xyz....;
ALTER TABLE abc.....;
SQL;
$sql_queries = explode(";", $sql);
$exclude_dbs = array();

$conn = mysql_connect("localhost", "USER", "PASSWORD");
$show_db_query = mysql_query('SHOW databases');
$databases = array();
while ($row = mysql_fetch_assoc($show_db_query))
{
if (!in_array($row['Database'], $exclude_dbs))
{
$databases[] = $row['Database'];
}
}

foreach($databases as $database)
{
mysql_select_db($database, $conn);
echo "Running queries on $database\n***********************************\n";
foreach($sql_queries as $query)
{
if (!empty($query))
{
echo "$query;";
if (!mysql_query($query))
{
echo "\n\nERROR: ".mysql_error()."\n\n";
}
}
}
echo "\n\n";
}
?>

它一直运行良好,没有任何问题。然后我使用 stepancheg / mysql-diff确保数据库模式良好。

迁移数据库时我应该做些什么? (我也事先在临时服务器上进行了测试)

最佳答案

您的方法似乎有效,并且 mysql-diff 的使用很好。您是否考虑过使用 mysqldump备份实际数据?这是一种比自定义脚本更传统的方法。

关于php - 多数据库模式迁移(php/mysql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6146747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com