因此,在我的食谱中,我有以下几点:
secret = Chef::EncryptedDataBagItem.load_secret("/root/.chef/encrypted_data_bag_secret")
# Decrypt the data bag
creds = Chef::EncryptedDataBagItem.load("passwords", "mysql-root", secret)
如何用我的测试数据覆盖这些行?该方法安装了一个MySQL数据库,因此,我想测试DB的存在。
因此,我想知道这是否可以,或者是否有其他更好和更安全的解决方案来从数据库中获取信息。
if (isset($_SESSION['user_id'])) {
$string = mysql_query("SELECT * FROM users WHERE id = '$_SESSION[user_id]'");
$v = mysql_fetch_array($string);
}
因为我在想,也许可以破解“会话”并将user_id更改为另一个,这样他们就可以访问任何用户了……
谢谢
测试mysql查询的正确方法是什么?
示例:我想测试运行中的更新查询
update `transaction` set date="2013-01-01" where id=1;
在查询更新之后,我看到数据库正在正确地更改。但是,我希望数据库在执行查询更新之前恢复到状态,因为这只是用于测试。
是否有任何工具可以轻松地创建用于测试的虚拟数据库,或者mysql具有恢复状态的功能?
也许我不能变得更愚蠢,但说真的,这是我第一次不得不考虑这个问题(这是第一次单用户应用程序从多个地方转到多用户)。MySQL (或任何其他数据库)密码是为了什么目的?我们在连接字符串中看到的密码,好像如下所示:
"SERVER=localhost;DATABASE=tree;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200"
branch是用户root访问数据库tree的代码词吗?还是root可以访问特定机器上的任何MySQL数据库?或者是任何用户访问数据库tree的密码?或任何用户访问该机器上的任何MySQ
我们使用的是,我希望能够指定特定于数据库的注释。为方便起见,在开发/测试中,我们先使用sqlite3数据库,然后在生产环境中使用MySQL。
不幸的是,sqlite3不接受CHARACTER SET和COLLATE关键字。这意味着以下中断:
type User struct {
Name string `gorm:"primary_key;type:varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci"`
}
有没有人找到解决这个问题的办法?我不希望在测试中使用mysql,也不希望手动管理列。