我正在编写一个引导脚本来自动化新开发者的Mac计算机的某些设置。到目前为止,我已经能够使用brew cask从命令行安装SP:

brew cask install sequel-pro


然后是否可以从命令行创建SP“收藏夹”,例如,新开发人员已经可以在指尖获得到本地Vagrant框的连接参数?

最佳答案

Sequel Pro将其收藏夹存储在~/Library/Application Support/Sequel Pro/Data/Favorites.plist中,密码存储在钥匙串中。所以我必须做两件事:


将正确的数据(基本上为XML格式)写入该文件。
为我的数据库密码创建一个钥匙串条目。


通过查看当前Favorites.plist的内容,我得出了以下基本启动文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Favorites Root</key>
    <dict>
        <key>Children</key>
        <array>
            <dict>
                <key>database</key>
                <string>my_db_name</string>
                <key>host</key>
                <string>127.0.0.1</string>
                <key>id</key>
                <integer>-4414284772604805500</integer>
                <key>name</key>
                <string>homestead</string>
                <key>port</key>
                <string>33060</string>
                <key>socket</key>
                <string></string>
                <key>sshHost</key>
                <string></string>
                <key>sshKeyLocation</key>
                <string></string>
                <key>sshKeyLocationEnabled</key>
                <integer>0</integer>
                <key>sshPort</key>
                <string></string>
                <key>sshUser</key>
                <string></string>
                <key>sslCACertFileLocation</key>
                <string></string>
                <key>sslCACertFileLocationEnabled</key>
                <integer>0</integer>
                <key>sslCertificateFileLocation</key>
                <string></string>
                <key>sslCertificateFileLocationEnabled</key>
                <integer>0</integer>
                <key>sslKeyFileLocation</key>
                <string></string>
                <key>sslKeyFileLocationEnabled</key>
                <integer>0</integer>
                <key>type</key>
                <integer>0</integer>
                <key>useSSL</key>
                <integer>0</integer>
                <key>user</key>
                <string>homestead</string>
            </dict>
        </array>
        <key>IsExpanded</key>
        <true/>
        <key>Name</key>
        <string>FAVORITES</string>
    </dict>
</dict>
</plist>


我将其另存为Favorites.plist与我的引导脚本相同的目录(如原始问题所述),并将以下3行添加到脚本中:

mkdir -p ~/Library/Application\ Support/Sequel\ Pro/Data/
cp -f Favorites.plist ~/Library/Application\ Support/Sequel\ Pro/Data/
security add-generic-password -U -T "/Applications/Sequel Pro.app" -s "Sequel Pro : homestead (-4414284772604805500)" -a homestead@127.0.0.1/my_db_name -w secret



第一行确保目录路径存在(我还没有在全新安装的SP中尝试过该路径,所以我不知道整个路径是否存在)。
第二行将上面的模板复制到正确的位置。
第三行将数据库密码(“秘密”)添加到我的钥匙串中。

请注意,此命令中的不同参数如何与Favorites.plist中的元素(名称,数据库,ID等)对齐
See the doc for OS X's security command.



中提琴!

关于mysql - 从命令行创建Sequel Pro“收藏夹”吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27737664/

10-12 13:53
查看更多